以下是引用走刀口→超在2007-2-11 12:09:06的发言:
不过缺浪费了CPU和内存.
不过缺浪费了CPU和内存.
这点不算什么的,现在这么牛的PC
----------------解决方案--------------------------------------------------------
以下是引用gongweixue在2007-2-11 11:33:58的发言:
输入10个数字,输出最大的一个
#include <stdio.h>
void main()
{
char a[10];
int n,i;
for(i=0;i<11;i++)
scanf("%d"a[i]) ;
for(i=0;i<11;i++)
{
if(a[i]<a[i+1])
{
n=a[i];a[i]=a[i+1];a[i+1]=n;
}
}
printf("%d",n);
}
输入10个数字,输出最大的一个
#include <stdio.h>
void main()
{
char a[10];
int n,i;
for(i=0;i<11;i++)
scanf("%d"a[i]) ;
for(i=0;i<11;i++)
{
if(a[i]<a[i+1])
{
n=a[i];a[i]=a[i+1];a[i+1]=n;
}
}
printf("%d",n);
}
楼主,你数据定义的大小是10 a[10]就是说有10个元素
而你的循环是for(i=0;i<11;i++) i=11才退出循环,i可以等于10
0-10有多少个元素?
11个呀,已经超出你数组的定义范围了
正确的程序楼下有很多,你仔细看看吧
再说一下
数组的元素是从0开始的
int b[3];
那他的元素是
b[0],b[1],b[2]
----------------解决方案--------------------------------------------------------
上面的朋友说的都不错。
----------------解决方案--------------------------------------------------------
看的我都模糊了
----------------解决方案--------------------------------------------------------
嵌套循环的标志最好用两个表示...我觉得是(里面的循环结束返回的i的值不是所要求的). 数组下标错了.
----------------解决方案--------------------------------------------------------