大家好,这个我写了好多遍,提交时就是过不去,咋回事啊?请帮我看一下,谢谢了!
下面是我的问题:
输入10个整数存入一维数组a,然后按逆序重新存储数据,最后按顺序输出该数组,每个数据占5列。例如输入
2 5 6 7 1 8 9 0 3 6
后,a(0)-a(9)依次为2、5、6、7、1、8、9、0、3、6,逆序重新存储数据后a(0)-a(9)依次为6、3、0、9、8、1、7、6、5、2,输出应为
6 3 0 9 8 1 7 6 5 2
注意:语言选DEV C++。
#include
#include
main()
{
int a[10];
int i,t;
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%d ",a[i]);
for(i=0;i<10/2;i++)
{
t=a[i];
a[i]=a[10-1-i];
a[10-1-i]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
main()
这是turbo c老式写法,现代的编译器应该加上返回值
int main()
第一个scanf("%d",&a[i]);,不能这样实现输入,必须循环一个一个来
还有,格式输出和题目要求不同
修改了一下,你参考下
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10];
int i,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
for(i=0;i<10/2;i++)
{
t=a[i];
a[i]=a[10-1-i];
a[10-1-i]=t;
}
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}