标签:c语言
#define N 10
int main(int argc, const char * argv[]) {
int num[N];
printf("输入10个整数:");
for (int i=0; i<N; i++) {
scanf("%d",&num[i]);
}
for (int j=N-1; j>=0; j--) {
for (int i=0; i<j; i++) {
if (num[i]<num[i+1]) {
int temp=num[i];
num[i]=num[i+1];
num[i+1]=temp;
}
}
}
printf("数组降序排列为:\n");
for (int i=0; i<N; i++) {
printf("%d ",num[i]);
}
printf("\n");
return 0;
}
运行结果:
方法二:
#define N 10
int main(int argc, const char * argv[]) {
int num[N];
printf("输入%d个整数:",N);
for (int i=0; i<N; i++) {
scanf("%d",&num[i]);
}
int temp;
for (int i=0; i<N; i++) {
//内循环
for (int j=0; j<N-1; j++) {
if (num[j]<num[j+1]) {
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("数组降序排列为:\n");
for (int i=0; i<N; i++) {
printf("%d ",num[i]);
}
printf("\n");
return 0;
}
运行结果:
方法三:(二的优化)
#define N 10
int main(int argc, const char * argv[]) {
int num[N];
printf("输入%d个整数:",N);
for (int i=0; i<N; i++) {
scanf("%d",&num[i]);
}
int temp;
for (int i=0; i<N; i++) {
//内循环 每一次比较的过程,循环结束找到一个最小的数字
for (int j=0; j<N-1-i; j++) { //每循环一次确定一个数字
if (num[j]<num[j+1]) {
temp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
}
}
printf("数组降序排列为:\n");
for (int i=0; i<N; i++) {
printf("%d ",num[i]);
}
printf("\n");
return 0;
}
运行结果:
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:c语言
原文地址:http://blog.csdn.net/qxuewei/article/details/46763449