定义一个十元素数组,将数组中存放的数倒序并打印

Hcwfc 2009-11-02 11:05:13
定义一个十元素数组,将数组中存放的数倒序并打印
#include<stdio.h>

int main()
{
int a[10],c;
for (int i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
{
c=a[i];
a[i]=a[9-i];
a[9-i]=c;
}
printf("%d\n",a[i]);
return 0;
}
帮忙看看这个那里有错?谢谢!
...全文
1236 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 jxpxyp 的回复:]
我上面发的这个程序记得,数组最大就是20个元素,只是示例,记得不要弄越界了~!昨天就有人挑过这种错~!
[/Quote]恩 知道了 谢谢!!!
jxpxyp 2009-11-02
  • 打赏
  • 举报
回复
我上面发的这个程序记得,数组最大就是20个元素,只是示例,记得不要弄越界了~!昨天就有人挑过这种错~!
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jxpxyp 的回复:]
还有就是程序根本没有把数组倒过来存放
[/Quote]帮帮忙哈 写个代码我参考看看嘛
jxpxyp 2009-11-02
  • 打赏
  • 举报
回复
#define N 20
#include <stdio.h>
void main()
{
int a[N];
int i,n,j,max;
printf("请输入数组大小\n");
scanf("%d",&n); /*输入数组大小*/
for(i = 0;i < n;i++)
scanf("%d",&a[i]); /*输入数组元素*/
j=n;
for(i = 0;i < j/2;i++) /*进行逆序存放*/
{
max=a[i];
a[i]=a[n-1];
a[n-1]=max;
n--;
}
for(i = 0;i < j;i++)
printf("%d,",a[i]);
}
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wanjingwei 的回复:]
他的意思是说你要
for (int i=0;i <=9;i++)
{

}
for(inti=0;i <10;i++)
{

}


[/Quote]我知道 你把代码写了我看看呢
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jxpxyp 的回复:]
C/C++ code#include<stdio.h>int main()
{int a[10],c;int i;for (i=0;i<=9;i++)
{
scanf("%d",&a[i]);
}for(i=0;i<10;i++)
{
c=a[i];
a[i]=a[9-i];
a[9-i]=c;
}
printf("%d\n",a[i]);ret¡­
[/Quote]不行啊 改了也运行不了
jxpxyp 2009-11-02
  • 打赏
  • 举报
回复
还有就是程序根本没有把数组倒过来存放
jxpxyp 2009-11-02
  • 打赏
  • 举报
回复
int i;
for (i=0;i <=9;i++)
{

}
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wangxing221 的回复:]
for (int i=0;i <=9;i++)
{

}
根据标准C++,这里面的i的作用域仅限于for语句内,退出循环后必须要重新声明i
[/Quote]把代码写下来看看
happyfen2005 2009-11-02
  • 打赏
  • 举报
回复
for(i=0;i <10;i++)
{
c=a[i];
a[i]=a[9-i];
a[9-i]=c;
} 这里的不要在到10了,你这样换一下, 又换回来了!

for(i = 0;i < 5;i++)
{
c = a[i]; a[i] = a[9 -i]; a[9 - i] =c ;
}
wanjingwei 2009-11-02
  • 打赏
  • 举报
回复
他的意思是说你要
for (int i=0;i <=9;i++)
{

}
for(int i=0;i <10;i++)
{

}

jxpxyp 2009-11-02
  • 打赏
  • 举报
回复
#include <stdio.h> 

int main()
{
int a[10],c;
int i;
for (i=0;i <=9;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i <10;i++)
{
c=a[i];
a[i]=a[9-i];
a[9-i]=c;
}
printf("%d\n",a[i]);
return 0;
}
把定义这里多定义一个int i;不要在for循环里面写int i;
wangxing221 2009-11-02
  • 打赏
  • 举报
回复
for (int i=0;i <=9;i++)
{

}
根据标准C++,这里面的i的作用域仅限于for语句内,退出循环后必须要重新声明i
Hcwfc 2009-11-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 goodname 的回复:]
for (int i=0;i <=9;i++)
{

}
for(i=0;i <10;i++)
{

}

这种i的使用方式在vc6中可以编译通过,后来的编译器应该不行。
[/Quote]解释一下!
goodname 2009-11-02
  • 打赏
  • 举报
回复
for (int i=0;i <=9;i++)
{

}
for(i=0;i <10;i++)
{

}

这种i的使用方式在vc6中可以编译通过,后来的编译器应该不行。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧