定义一个数组,自己再输入一个数,判断这个数是否在数组之内,如果存在返回这个数组内的索引,如果不存在打印1用C

定义一个数组,自己再输入一个数,判断这个数是否在数组之内,如果存在返回这个数组内的索引,如果不存在打印1C
#include <stdio.h>

int main() {
    int arr[5] = {1, 3, 5, 7, 9};
    int num, i;

    printf("请输入一个整数:");
    scanf("%d", &num);

    for(i = 0; i < 5; i++) {
        if(arr[i] == num) {
            printf("%d 存在于数组中,索引为 %d", num, i);
            return 0;
        }
    }

    printf("1\n");
    return 0;
}

一个比较简单的,你可以本地运行一下

#include <stdio.h>

int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int num, index = -1;
    
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    for (int i = 0; i < 5; i++) {
        if (arr[i] == num) {
            index = i;
            break;
        }
    }
    
    if (index != -1) {
        printf("%d 存在于数组中,其索引为 %d\n", num, index);
    } else {
        printf("1\n");
    }
    
    return 0;
}
定义了一个长度为5的整型数组 arr,并从用户输入中读取一个整数 num。然后使用 for 循环遍历数组,如果找到了 num,则将其在数组中的索引存储在变量 index 中,然后退出循环。最后,如果 index 不为 -1,则打印 num 存在于数组中,其索引为 index;否则,打印 1

img


#include <stdio.h>
#define N 10 //定义数组的大小

int main()
{
    int a[N] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}; //定义并初始化一个数组
    int x; //定义一个变量,用来存储输入的数
    int i; //定义一个变量,用来作为循环的索引
    int flag = 0; //定义一个标志变量,用来表示输入的数是否在数组中

    printf("请输入一个数:\n");
    scanf("%d", &x); //从键盘读取一个数

    for (i = 0; i < N; i++) //遍历数组,查找输入的数
    {
        if (a[i] == x) //如果找到了输入的数
        {
            printf("这个数在数组中的索引是%d\n", i); //输出索引
            flag = 1; //将标志变量设为1,表示找到了
            break; //跳出循环
        }
    }

    if (flag == 0) //如果没有找到输入的数
    {
        printf("1\n"); //打印1
    }

    return 0;
}
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/351133
  • 你也可以参考下这篇文章:变量名错误;变量还没有定义,就直接使用;变量的输入与使用顺序不当;数据输入时,数据的类型不匹配
  • 除此之外, 这篇博客: 经典C语言代码摆烂现场中的 用汉语来表述的话,应该要先定义一个数字变量,然后此时用户通过键盘输入一个数字,电脑去扫描存储到内存中的数据,判断此时用户输入的数据跟我们要求的数据是否符合条件,如果符合条件的话,那就满足第1条语句代码块,如果不满足条件那就不执行,执行else部分。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

  • #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int score;
        
        printf("请输入成绩:\n");
        
        scanf("%d",&score);
        
        if(score >= 90){
            printf("成绩优秀\n");
        }
        else if(score > 75 && score <= 90){
            printf("成绩良好\n");
        }
        else if(score >= 60 && score <= 75){
            printf("成绩及格\n");
        }
        else if(score > 40 && score <60){
            printf("不及格\n");
        }
        else{
            printf("很差劲啊,退学吧\n");
        }
        
        system("color 2");
        system("pause");
        return 0;
    }

    第3段代码是if-else多条件循环语句的升级版,意思是老师输入考生考试成绩,并判断该考生处于什么样的学习水平。IT男超哥的思考方式如下:定义一个分数变量,然后用户输入学生成绩,电脑去扫描用户输入的成绩,如果学生成绩大于等于90的时候,那么该生成绩优秀;如果学生成绩在75到90分,说明该生成绩良好,如果学生成绩在60~75之间,说明该生成绩合格,如果学生成绩在40~60之间,说明该生成绩不合格,否则小于40分的时候,说明该生成绩很差劲,退学吧!对话框输出的背景是黑色的,文字是绿色的,对话框会在用户的面前显示。

    程序运行结果截图:


    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int data;
        printf("请输入一个整数:\n");
        scanf("%d",&data);
        switch(data){
            
            case 0:
                printf("你输入了一个0\n");
                break;
            case 1:
                printf("你输入了一个1\n");
                break;
            case 2:
                printf("你输入了一个2\n");
                break;
            case 3:
                printf("你输入了一个3\n");
                break;
            case 4:
                printf("你输入了一个4\n");
                break;
            default:
                printf("请输入0-4中的任意整数\n");
           }
           
        system("color 2");
        system("pause");
        return 0;
    }

    第4段代码是Switch-case语句的案例。Switch语句是一个程序运行的判断条件,case是该条件下的不同情况,例如这段代码是当用户输入整数之后,12345……通过用户输入的整数来判断用户输入的数字范围在哪一块,程序大体的框架是,用户先定义一个数字变量,然后通过 printf函数输入任意一个整数,scanf函数来扫描数据获得数据的值,此时,switch语句来判断用户输入的整数,因为用户输入的整数范围是01234这几种情况,如果用户输入的不是01234,那么对话框给用户提示,请输入0~4的任意整数。

    Switch和case语句语法结构是这样的,switch判断条件真假的开关,case是该条件下的一些情况,需要注意在case语句下要输入break,如果不输入break的话,程序会存在问题,输入任意一个数字,它永远执行的是第1个,所以在第1个条件判断处要输入break,后面的判断条件类似,因为break语法作用是中途中止某一段程序运行。

    程序运行结果截图:

     


    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int data;
        printf("请输入一个整数:\n");
        scanf("%d",&data);
        switch(data){
            
            case 0:
            case 1:
            case 2:
            case 3:
                printf("你输入了一个0-3范围内的数\n");
                break;
                
            case 4:
                printf("你输入了一个4\n");
                break;
            default:
                printf("请输入0-4中的任意整数\n");
                break;
           }
           
        system("color 2");
        system("pause");
        return 0;
    }

    所谓case语句的另一个变形方式是这样的,用户输入0~3之间的数,做一个统一的条件判断,此时对话框会提示用户输入的是一个0~3范围之内的数,当用户输入整数4,对话框会出现用户输入的数字,此外,default语句是判断语法逻辑错误的,如果说。用户输入除0~4以外的数,那么对话框会提示用户要输入0~4之间的任意整数。
    同样,这里用system函数改变对话框的文字颜色。

    程序运行结果截图:


     

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int a;//定义为钱的数量
        int b;//定义为房子的数量
      
        printf("Please input some money:\n");
        scanf("%d",&a);
        printf("请输入你的房子套数:\n");
        scanf("%d",&b);
       
        if (a >= 100)
        {
            if(b <= 2)
            {
                 printf("你有钱,但是房子数量不够,我们不合适。\n");
            }
            else
            {
                 printf("我可以jia给你。\n");
            }
        }else
        {
                 printf("gun!\n");
        }


        system("pause");
        return 0;
    }

    该段代码总觉得适合看,不适合解释,不过这样的代码框架搭建得非常沃野,值得学习,可以移植嫁接到其他情境当中。本段代码主要是if-else的嵌套循环。

    程序运行结果截图:

  • 您还可以看一下 王西猛老师的商超收银软件排队挂单取单编程思路教程课程中的 点餐软件开发过程中的挂单取单编程概述小节, 巩固相关知识点