C++ 有关数组的一个小小问题。。。。。
已经有一个6行6列的数组maze[6][6],要把0和1输入到里面,不能输入其他的数,例如:
int a,b;
for(a=0;a<6;a++)
{
for(b=0;b<6;b++)
scanf("%d",&maze[i][j]); //%d只是一个空位符
}
这个程序是可以输入任意一个数的。而我只要输入0或1,
比如当我输入2或其他数或字符时,程序要自己识别,当输入的不是0或1时,程序要求重新输入。
for(;a<6;a++)
{ for(;b<6;b++)
{ scanf("%d",&v);
if ((v == 0)||(v ==1))
{maze[i][j] =v;}
else {输出提示重新输入;}
break;
}
} 这样不行丫。。我之前试过了。。 #include<stdio.h>
#include<stdlib.h>
int main()
{
int size,value,i=0,j=0;
printf("输入数组大小: ");
scanf("%d",&size);
int * array=(int*)malloc(sizeof(int)*size*size);
int n=size;
while(n>0)
{
scanf("%d",value);
if(value==1||value==0)
{
array[i*size+j]=value;
if(++j==size) ++i,j=0;
--n;
}
}
free(array);
return 0;
}
试一下
[[it] 本帖最后由 中学者 于 2008-6-26 19:51 编辑 [/it]]
页:
[1]
