C语言:输入10个数,将这十个数以逆序形式输出

总之是输入10个数,让他们倒着输出来

授人以鱼不如授人以渔!虽然我也是复制的,希望对你有帮助!
这个程序是谭浩强书上的经典程序:

for (i=0;i<N/2;i++)

(一)

关于N/2:

从零开始循环,一直到某个数的一般,比如N=15,则是0--7;

若N=16,则是0--8

为啥?

因为奇数是关于中间对称:比如15,中间是8,两边的是:1--7和

9--15,两边是7个,中间一个

所以中间的不用循环,即是中间的8不用调换,两边的调换

而偶数16,1--8和9--16都是8 个,直接调换即可

{

(二)

t=a[i];

把第i个赋给t

a[i]=a[N-1-i];

把与第i个对称的赋值给第i个

a[N-1-i]=t;

然后t(即刚才的第i个赋给与i对称的)

完成了对调
}

(三)

关于N-1-i

例如15:因为第一个是0(i=0,所以a【i】=a【0】),所以与0对称的是14(因为是15个数,所以是标号0----14),即a【0】----a【14】、
a[1]----a[13],a[2]---a[12],………………

所以是
0-----15-1-0
1-----15-1-1
2-----15-1-2
………………
即i与N-1-i对调
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-30
#include <stdio.h>
int main(void)
{
int arr[10],i;
printf("请输入10个数:\n");
for (i=0;i<10;i++)
{
scanf("%d",&arr[i]);
}

printf("逆序输出:\n");
for (i=9;i>=0;i--)
{
printf("%d\n",arr[i]);
}
return 0;
}
第2个回答  2012-11-30
思路是:这十个数用数组a[10]存储,然后以a[9]-a[0]逆序输出,这是很简单的事情
第3个回答  2012-11-30
#include <stdio.h>
#define N 10
main()
{
int i,a[N],t;
for(i=0;i<N;i++)
scanf("%d",&a[i]);

for (i=0;i<N/2;i++)
{
t=a[i];
a[i]=a[N-1-i];
a[N-1-i]=t;
}

for(i=0;i<N;i++)
printf("%d",a[i]);

}本回答被网友采纳
第4个回答  2012-11-30
#include"stdio.h"
void main()
{int [10];
for(i=9;i>=0;i--)
scanf("%d",&a[i];
for(i=0;i<10;i++)
pringtf("%d\t",a[i];
}
相似回答