函数输入问题
输入10个整数,将它们存入数组a中,再输入一个正整数m,查找m在数组中是否存在,若存在,输出第一个查找到的元素下标,若不存在,输出Not Found.我输入10个数之后无法输入m的值,求大神指教以及指正错误
#include <stdio.h>
int main()
{
int i;
int a;
printf("Enter 10 integers: ");
scanf("%d ",&a);
int m;
printf("Enter m: ");
scanf("%d ",&m);
int flag=0;
for(i=0;i<10;i++)
{
if(m==a)
flag=1;break;
}
if(flag)
printf("Index is %d",i);
else
printf("Not Found.");
return 0;
} 输入时要这样:
for(int i=0; i<10; i++)
{
scanf('%d', &a)
} liuzhengyuan 发表于 2020-4-29 20:54
输入时要这样:
能输入m的值了,但后面什么都没显示 Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示
好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了
for(int i=0; i<10; i++)
{
scanf("%d", &a);
} liuzhengyuan 发表于 2020-4-29 21:06
好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了
我就输入的这个 本帖最后由 liuzhengyuan 于 2020-4-29 21:12 编辑
Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示
if(m==a)
flag=1;break
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)
正确代码:
#include <stdio.h>
int main()
{
int i;
int a;
printf("Enter 10 integers: ");
for(int i=0; i<10; i++)
{
scanf("%d", &a);
}
int m;
printf("Enter m: ");
scanf("%d",&m);
int flag=0;
for(i=0;i<10;i++)
{
if(m==a)
{
flag=1;break;
}
}
if(flag)
{
printf("Index is %d",i);
}
else
{
printf("Not Found.");
}
return 0;
} Lusy 发表于 2020-4-29 21:08
我就输入的这个
我有发现了你的一个问题(看楼上) liuzhengyuan 发表于 2020-4-29 21:08
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)
正确代码:
还是跟刚才一样 Lusy 发表于 2020-4-29 21:12
还是跟刚才一样
你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。 liuzhengyuan 发表于 2020-4-29 21:13
你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。
OK了,多谢 Lusy 发表于 2020-4-29 21:15
OK了,多谢
满意请设最佳答案{:10_254:}
页:
[1]