想问问大家,我写的这段代码是实现 输入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[k];
min_k=k;
for (i=k+1;i<10;i++)
if (a[i]>min)
{
min=a[i];
min_k=i;
}
x=a[min_k];
a[min_k]=a[k];
a[k]=x;
}
for (i=0;i<10;i++)
printf("%d\n",a[i]);
getch();
}
我写的代码我看主要是没有min,min_k,这两个变量!
但是结果都是正确的,想问问C语言的朋友,不知我写的代码是否有编程上的不合理?
我是一个C语言初级学习者,比较喜欢按自己的思路、方式去写一些程序,这样按自己理解应该会记得更牢固,但我就怕犯下一些自己都不知道的错误,而且一直不知道。
所以想问问熟悉C语言的朋友们,我写的和书中写的,最大区别是什么呢?是效率还是别的问题?还是两者都一样呢?
感谢你的关注或回答的帮助,谢谢!