C语言day07-07数组练习3

pragma mark 数组练习3

pragma mark 概念

pragma mark 代码

#include <stdio.h>
int main()
{
#pragma mark 从键盘输入3个0~9的数字,然后输出0~9中那些数字没有出现过
    /*
     从键盘输入100个0~2000的数字,然后输出0~9中那些数字没有出现过
     方法1要定义100个变量
     方法2只要修改数组名
     方法2比方法1 效率高
     输入: 1.3.5
     输出:0.2.4.6.7.8.9
     */
#pragma mark 方法1
    /*
    // 1.接收用户输入的数据
    int num1,num2,num3;
    printf("输入三个整数,用逗号隔开\n");
    scanf("%i,%i,%i",&num1,&num2,&num3);
    
    // 2.遍历打印0~9
    for (int i = 0; i <=9; i++) {
//        printf("%i\n",i);
        // 3. 判断当前打印的值是不是用户输入的值,如果是就不打印
        if (num1 !=i &&
            num2 !=i &&
            num3 !=i) {
            printf("%i\n",i);
        }
    }
     */
#pragma mark 方法2 - 空间换时间
    // 1.定义数组保存所有用户输入的数
    int nums[10] = {0};
    // 2.接收用户的数据
    int value = -1;
    for (int i = 0; i<3; i++) {
        printf("请输入%i个整数,以逗号隔开\n",i+1);
        scanf("%i\n",&value);
        nums[value] = 1;
    }
    
    for (int i = 0; i < 10; i++) {
//        printf("nums[%i] = %i\n",i,nums[i]); // 记录输入过的索引 标记为1
        if (nums[i] !=1) {
            printf("%i\n",i);
        }
    }
    
    return 0;
}


    原文作者:liyuhong165
    原文地址: https://www.jianshu.com/p/e6a19d285a56
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞