看程序就明白斑斑的意思:
将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;
}