看程序就明白斑斑的意思:
将1-100这100个自然数放了进去,但没有找出放不进去的那个。。噢!
#include"stdio.h"
main()
{ int j,i,a[99];
for(j=0,i=1;i<=100;i++,j++)
a[j]=i;
printf("%d",a[99]);
}
我啥都不说了
你把我的程序拿回去运行一下 然后上来告诉我结果
羊肉串 葡萄干 哈密瓜!!
看程序就明白斑斑的意思:
将1-100这100个自然数放了进去,但没有找出放不进去的那个。。噢!
#include"stdio.h"
main()
{ int j,i,a[99];
for(j=0,i=1;i<=100;i++,j++)
a[j]=i;
printf("%d",a[99]);
}
我啥都不说了
你把我的程序拿回去运行一下 然后上来告诉我结果
我啥都不说了
你把我的程序拿回去运行一下 然后上来告诉我结果
这个是结果:
好! 你回去看看书 你看看当定义了int a[N];时 a[N];里面存放数据吗?
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
int a[99];//意思是有99个数组成的一个数组
它的序列号是:a[0],a[1]……a[98]!
而没有a[99]!!
int a[n];//n>=1的情况下,它的范围是a[0]……a[n-1]!
而没有a[n]!!
这个是数组的基本定义
书上写的也是这个意思,但是现在a[99]里面有数据,你不感觉奇怪么?
我从一开始就是想说这个意思。
[此贴子已经被作者于2007-2-14 19:07:48编辑过]
好! 你回去看看书 你看看当定义了int a[N];时 a[N];里面存放数据吗?
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
int a[99];//意思是有99个数组成的一个数组
它的序列号是:a[0],a[1]……a[98]!
而没有a[99]!!
int a[n];//n>=1的情况下,它的范围是a[0]……a[n-1]!
而没有a[n]!!
这个是数组的基本定义
书上写的也是这个意思,但是现在a[99]里面有数据,你不感觉奇怪么?
我从一开始就是想说这个意思。
学习编程这东西,有时理解不了就是理解不了噢~~!
书看了N遍,BB说的也弄明白了~~~
[QUOTE]把1-100的自然数放到a[99]这个数组里,请用最简单的方法做出1-100之间那个数没有放到a[99]这个数组里[/QUOTE]
意思是在1~100之间任选99个数字(每个数字只能选一次)存入数组,再找出1~100之间哪个数没放在里面.
我写了个逐位比较的效率不高的.
#include "stdio.h"
#define N 99
int main(void){
unsigned short int arr[N];
unsigned short int i,j,tmp,flag=0;
for(i=0;i<N;scanf("%d",&arr[i++]));
for(j=1;j<=N+1;j++){
for(i=0;i<N;i++){
if(arr[i]==j){
flag=1;
break;
}
else{
flag=0;
continue;
}
}
if(flag==0){
tmp=j;
break;
}
else
continue;
}
printf("%u\n",tmp);
return 0;
}
1—100好像都在a[0]——a[99]数组里
不在吧。a[99]这个数组只有99个容量嘛。不是从0--99有100个。
根据数组的定义,比如a[10],它有10个元素,分别是:a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9], 那么a[99]只有a[0],a[1],``````,a[98]的共99个元素了呀。
[此贴子已经被作者于2007-2-15 11:06:54编辑过]
38楼说的有错
a[99]是有99个元素
但是a[0]=1,a[1]=2……是‘错’位了
我后来试了下
int a[1],i;
for(i=0;i<100,i++)
{
a[i}=i;
printf("a[%d]=%d",i,a[i]);
}
结果VC比预计的结果要多出32个
换句话说,显示到a[33]
对不起,我引用错了,楼下的
[此贴子已经被作者于2007-2-15 14:33:33编辑过]