㈠ c语言给数组中的数按从大到小的顺序排序
#include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b) { return *(char*)a - *(char*)b; // 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qsort(s, strlen(s), 1, cmp); printf("%s", s); return 0;}
㈡ C语言编程 数组从大到小排列
我是这样想的啊,仅供参考
定义两个变量 maxNum 和 minNum(类型应该是int吧)
然后把数组的第一个元素赋给这个两个变量
进行FOR循环(从第二个元素开始)
比较当前元素与最大最小元素的大小
大了赋给maxNum
小了赋给minNum
用伪代码表示:
maxNum=a[0]
minNum=a[0]
for(i=1;i<N;i++)
{
if(a[i]<minNum)
minNum=a[i]
if(a[i]>maxNum)
maxNum=a[i]
}
printf(最大值是maxNum,最小值是minNum)
不一定对
个人想法
㈢ C语言怎样给一个数组中的数从大到小排序
#include "stdio.h"
int main()
{
int i,j;
int a[12];
for(i=1; i<=10; ++i)
scanf("%d",&a[i]);
for(i=1; i<10; ++i)
for(j=i; j<=10; ++j)
if(a[i]<a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
//前十个数的排序
for(i=1; i<=10; ++i)
printf("%d ",a[i]);
printf("\n");
printf("Input a new number: ");
scanf("%d",&a[11]);
for(i=10; i>0; --i)
if(a[i+1]>a[i])
{
int t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
else break;
//11个数的排序
for(i=1;i<=11; ++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
㈣ C语言如何用选择法排序任意输入十个数(从大到小、从小到大)
#include
<stdio.h>
main(void)
{
int
i,j,a[10],p=0,t=0,temp;
printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i])
//这是由小到大排序
如果是大到小则改为
if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d
",a[j]);
}
㈤ c语言 数组 从大到小排序
我是这样想的啊,仅供参考
定义两个变量
maxnum
和
minnum(类型应该是int吧)
然后把数组的第一个元素赋给这个两个变量
进行for循环(从第二个元素开始)
比较当前元素与最大最小元素的大小
大了赋给maxnum
小了赋给minnum
用伪代码表示:
maxnum=a[0]
minnum=a[0]
for(i=1;i
maxnum)
maxnum=a[i]
}
printf(最大值是maxnum,最小值是minnum)
不一定对
个人想法
㈥ C语言中如何从大到小排列一个数组中的元素
先找不是0的元素个数
然后对前面部分进行排序即可。
函数如下
voidmy_sort(int*a)
{
intn,i,j;
intt;
for(n=0;a[n];n++);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
自己写主函数 调用my_sort就好了。
㈦ c语言 数组 从大到小排序
#include<stdio.h>
int
main(void)
{
int
n,
i,
index,
k,
temp
=
0;
int
a[10];
printf("Enter
n:");
scanf("%d",
&n);
printf("Enter
%d
numbers:",
n);
for
(i
=
0;
i
<
n;
i++)
scanf("%d",
&a[i]);
for
(k
=
0;
k
<
n;
k++)
{
index
=
k;
for
(i
=
k
+
1;
i
<
n;
i++)
{
if
(a[i]
>
a[index])
index
=
i;
temp
=
a[index];
a[index]
=
a[k];
a[k]
=
temp;
}
}
for
(i
=
0;
i
<
n;
i++)
printf("%d",
a[i]);
return
0;
}
这是修改了的
你的思路没错,就是在第三个for后要个大括号把
if(a[i]>a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;括起来。
㈧ c语言编程: 将一组数按从大到小的顺序排序
#include <stdio.h>
main()
{
int x;
printf("请输入要排序数字个数:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("输入数据:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}
(8)c语言数组从大到小排序扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
㈨ C语言:用选择法对数组中10个数按由大到小排序
#include<iostream>
using namespace std;
int main()
{
void select_sort(int arry[],int n)
int a[10],i;
for(i=0;i<=9;i++)
{
cin>>a[i];
}
cout<<endl;
cout<< select_sort(a,10); //函数调用,数组名作实参
for(i=0;i<=9;i++) //输出10个已经排好序的数
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}
void select_sort(int arry[],int n) //形参arry是数组名
{
int i,j,k,t;
for(i=0;i<=n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(arry[j]<arry[k])
{
k=j;
}
t=arry[k];
arry[k]=arry[i];
arry[i]=t;
}
}
}
运行结果:
(9)c语言数组从大到小排序扩展阅读:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
㈩ C语言如何输入十个数,按从大到小顺序排列!
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t;
printf("输入数");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++)
if (a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("从大到小");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}
(10)c语言数组从大到小排序扩展阅读:
代码还可以设计,如下:
#include<stdio.h>
int main()
{
int a[10],i,j,t;//定义数组;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//给数组赋值;
}
for(i=0;i<9;i++)//10个数,进行9轮比较;
for(j=0;j<10-i;j++){//第一个数比较9次,依次递减;
if(a[j]>a[j+1]) {//交换值;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);//输出数组的值;
}
return 0;
}
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf(" ");
}