c语言中如何才能输入y继续

来源:百度知道 编辑:UC知道 时间:2024/06/06 20:37:21
#include<stdio.h>
#include<time.h>
void main ()
{
FILE *fp;
char ch=121;
int a[10][10],b[10],c[10],i,j,p,f=0,t1,t2,flag=1,sum=0;
fp=fopen("in.txt","r");
for(i=0;i<10;i++)
for(j=0;j<10;j++)
{
fscanf(fp,"%d",&a[i][j]);
}
fclose(fp);
while(flag)
{
printf("请输入需要查找的数:");
scanf("%d",&p);
t1=clock();
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
if(p==a[i-1][j-1])
{
sum++;
b[sum]=i;
c[sum]=j;
}
t2=clock();
if(!sum)printf("not found!\n");
else
{
printf("查询的数在数组中的个数为:%d\n",sum);
for(j=1;j<=sum;j++)
printf("第%d个数的位置:第%d行 第%d列\n",j,b[j],c[j]);
printf("查询所用时间:%dms\n",t2-t1);
sum=0;
}
printf("输入“y”继续,其他结束:");

程序修改如下: 主要是在scanf函数后加了一个getchar();
VC++6.0 下编译通过, 运行正常 !

#include<stdio.h>
#include<process.h>
#include<time.h>
void main ()
{
FILE *fp;
char ch=121;
int a[10][10],b[10],c[10],i,j,p,f=0,t1,t2,flag=1,sum=0;
fp=fopen("in.txt","r");
if(!fp)
{
printf("打开文件失败, 程序退出\n");
exit(0);
}

for(i=0;i<10;i++)
for(j=0;j<10;j++)
fscanf(fp,"%d",&a[i][j]);
fclose(fp);

while(flag)
{
printf("请输入需要查找的数:");
scanf("%d",&p);
getchar();
t1=clock();
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
if(p==a[i-1][j-1])
{
sum++;
b[sum]=i;
c[sum]=j;
}
t2=clock();
if(!sum)printf("not found!\n");
else
{
printf("查询的数在数组中的个数为:%d\n",sum);