C语言一元数组问题 后面的

来源:百度知道 编辑:UC知道 时间:2024/07/07 22:12:39
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;j<9-i;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
...
}
这是潭豪强老师书里的一个例子 输入10个数字~由小到大排列

如果按照大家刚刚的说法
for(i=0;i<10;i++)
I的值要小于10 那输入的数字不是应该在0-9之中吗
可是例子的运行结果是所有整实数

例外还有个关于润年的 if (year/4==0)就判断该年是润年,
可是实际上好象任何年份除以4都不会是0吧? 怎么理解?
我刚学两天,发现里面的东西很多似乎和常里不一样,关于里面兔子问题也不是很理解~(数学不好)..
回答主要的~谢谢!加分...

for(i=0;i<10;i++)中i只是计数器,只是在你的要求执行for(i=0;i<10;i++)后的语句,正如你说的那个例子
for(i=0;i<10;i++)
scanf("%d",&a[i]);
中计数器从i=0开始执行
scanf("%d",&a[0]);
即读入a[0]的值,后再i++,再之后又是scanf("%d",&a[i]);只要在你的要求内就行了,如for(i=0;i<10;i++)就是在0<=i<=9时工作。。
下面那个就像楼上说的一样了

应该是if(year%4==0)意思是能被4整除

正确应该是if((year%4==0&&year%100!=0)||(year%400==0)),只能整除四但不能整除100或者能够整除400的都是闰年。这是闰年的定义。