C语言..ARRAY的问题..

来源:百度知道 编辑:UC知道 时间:2024/07/06 14:27:01
额.真不好意思..我又来请教大家了..
要求是这样的..
比如:
ch[3][2]为:
1 2
3 4
5 6

输入坐标..然后读出那个数..但是如果输入重复的坐标就会要求再输一遍..如果输入不存在的坐标就printf("Error\n")

eg:
enter matrix: 0 1
1

enter matrix: 0 1
enter matrix:

enter matrix: 0 5
Error

其他都还好..我不太明白中间那个的做法..怎样才能让输入重复坐标以后..重新显示enter matrix呢?

如果解决了加50分哦!谢谢大家..
..额 .我觉得写的蛮清楚的..
enter matrix: 0 1
enter matrix:
这里我不知道该怎么做..
因为前面已经输入过01的坐标了..这里是输入第2遍..所以自动忽略重新再要求输入一次..

问问大家啊..如何跳出循环啊?..在不用BREAK的情况下..因为我们老师不准我们用那个..

好吧..01是2...我晕了..

int main(void)
{
return 0;
}

问题在于0 1为什么是1?明显应该是2

#include <stdio.h>
int main(void)
{
int ch[3][2]={{1,2},{3,4},{5,6}},a[20][2]={{-1,-1}},i,j,k,m;
int n=1;
while(1)
{
printf("enter matrix:");
scanf("%d %d",&i,&j);
for(k=0;k<n;k++)
{

if((a[k][0]==i)&&a[k][1]==j)
{printf("\nenter matrix:");
scanf("%d %d",&i,&j);
k=0;}

}
a[n][0]=i;a[n][1]=j;
n++;

if(i>2||i<0||j>1||j<0)
{
printf("Error\n");
exit(0);
}

printf("%d\n",ch[i][j]);
}

return 0;
}

退出循环最常用的就是break,要不就用goto,不过c基本不用goto
避开退出循环的方式就用函数调用,不过函数比break更晚学到
不知道你们老师怎么想的

用字符数组存下输入.然后比较后面的输入,用strcmp,应该可以

我琢磨10分钟,没弄明白你想干什么?
你想多次输入和显示的话就用一个循环控制啊!?
想跳出了,加个跳出标志。

我觉得可以重新定义一个二维数组,全部初始化为0,如果查