鱼C论坛

 找回密码
 立即注册
查看: 905|回复: 10

[已解决]函数输入问题

[复制链接]
发表于 2020-4-29 20:51:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入10个整数,将它们存入数组a中,再输入一个正整数m,查找m在数组中是否存在,若存在,输出第一个查找到的元素下标,若不存在,输出Not Found.
我输入10个数之后无法输入m的值,求大神指教以及指正错误

#include <stdio.h>
int main()
{
     int i;
     int a[10];
    printf("Enter 10 integers: ");
        scanf("%d ",&a[i]);
                 
    int m;
    printf("Enter m: ");
    scanf("%d ",&m);
       
    int flag=0;
        for(i=0;i<10;i++)
        {       
                if(m==a[i])
                 flag=1;break;
         }
        if(flag)
               printf("Index is %d",i);
                  
        else
                  printf("Not Found.");
        return 0;
}
最佳答案
2020-4-29 21:08:51
本帖最后由 liuzhengyuan 于 2020-4-29 21:12 编辑
Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示

if(m==a[i])
                 flag=1;break
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)

正确代码:
#include <stdio.h>
int main()
{
     int i;
     int a[10];
    printf("Enter 10 integers: ");
    for(int i=0; i<10; i++)
        {
            scanf("%d", &a[i]); 
        }
                 
    int m;
    printf("Enter m: ");
    scanf("%d",&m);
       
    int flag=0;
        for(i=0;i<10;i++)
        {       
            if(m==a[i])
            {
                flag=1;break;
            }
         }
        if(flag)
        {
            printf("Index is %d",i); 
                }
        else
        {
            printf("Not Found.");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-29 20:54:31 | 显示全部楼层
输入时要这样:
for(int i=0; i<10; i++)
{
    scanf('%d', &a[i])
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 21:01:37 | 显示全部楼层

能输入m的值了,但后面什么都没显示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:06:16 | 显示全部楼层
Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示

好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了
for(int i=0; i<10; i++)
{
    scanf("%d", &a[i]);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 21:08:25 | 显示全部楼层
liuzhengyuan 发表于 2020-4-29 21:06
好吧我刚刚的输入代码打错了
这样才对,我搞成单引号了

我就输入的这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:08:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 liuzhengyuan 于 2020-4-29 21:12 编辑
Lusy 发表于 2020-4-29 21:01
能输入m的值了,但后面什么都没显示

if(m==a[i])
                 flag=1;break
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)

正确代码:
#include <stdio.h>
int main()
{
     int i;
     int a[10];
    printf("Enter 10 integers: ");
    for(int i=0; i<10; i++)
        {
            scanf("%d", &a[i]); 
        }
                 
    int m;
    printf("Enter m: ");
    scanf("%d",&m);
       
    int flag=0;
        for(i=0;i<10;i++)
        {       
            if(m==a[i])
            {
                flag=1;break;
            }
         }
        if(flag)
        {
            printf("Index is %d",i); 
                }
        else
        {
            printf("Not Found.");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:09:58 | 显示全部楼层
Lusy 发表于 2020-4-29 21:08
我就输入的这个

我有发现了你的一个问题(看楼上)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 21:12:51 | 显示全部楼层
liuzhengyuan 发表于 2020-4-29 21:08
这个语句你没加大括号了,if 语句中代码超过两条就得加大括号的‘({}’)

正确代码:

还是跟刚才一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:13:47 | 显示全部楼层
Lusy 发表于 2020-4-29 21:12
还是跟刚才一样

你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-29 21:15:39 | 显示全部楼层
liuzhengyuan 发表于 2020-4-29 21:13
你的第9行 scanf("%d ", &m)
%d 后面多加了一个空格。。。

OK了,多谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 21:16:15 | 显示全部楼层

满意请设最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表