C语言程序-用数组实现数字之间比较大小

来源:百度知道 编辑:UC知道 时间:2024/06/22 05:11:46
想问问大家,我写的这段代码是实现 输入10个数按递减输出。
下面是我写的代码:
#include <stdio.h>
main()
{
int a[10],i,j,k;
printf("\nPlease Ten Number:"); /*提示输入10个数*/
printf("\n");
for (i=0;i<10;i++) /*用户输入10个数*/
scanf("%d",&a[i]);
for (i=0;i<10;i++) /*外层循环0~9*/
{
for (j=i+1;j<10;j++) /*内层循环j~10,j依次加1*/
if (a[i]<a[j])
k=a[i],a[i]=a[j],a[j]=k;
}
for (i=0;i<10;i++)
{
printf("No.%d=%d\n",i+1,a[i]);
}
getch();
}

我测试了几次没有出现问题,输入的10个数,能正确的从大到小输出。

下面的是我看一本书上写的代码:
void main()
{
int i,k,x,min,min_k,a[10];
printf("\nPlease Ten Number:");
printf("\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
for (k=0;k<9;k++)
{ min=a[

你的代码很简单、明了,对于解决这个问题也非常合适。

书也是人写出来的,也会有瑕疵,

代码写多了以后,经常会形成一些习惯的语句写法,这是养成良好的编程习惯的必经之处,我猜想该作者就是习惯所致,要知道,在复杂数据结构中对数据进行变动的时候,作个标记是很必要的……

很OK,多按点自己的思路还写,不然以后自己都不会写,当你写出来了,再参考别人的,看看你有什么不足,这样就行了

呵呵,书上写的也有自己的道理,min,min_k这两个变量看上去更直观点,你的思路也没有错,有自己的一套方法也是不错的!我也很少看书,但也可以将程序写出来!

都对的,只不过他那种是用数组表达写的
min_k是min的下标而已