c语言编程中遇到的问题

这个程序的问题在于我会判断输入是否非法,但我不知道怎么判断是否为重复数值,之前看到的写法对于我又有点太过复杂

编写程序,实现以下功能:

首先,提示用户输入5个不大于10的正整数(分5次提示,每次输入1个整数);
然后,每次用户输入数值后,判断用户输入数值是否符合要求,如果不符合则输出错误信息并终止运行;
最后,判断用户输入的5个整数是否有重复,并输出结果(“您输入的数据包含重复值” 或者 “您输入的数据不包含重复值”)。
注意:此题需要提交3个运行结果截图,分别对应合法有重复值、合法无重复值和非法的输入。


#include <stdio.h>

int main()
{
    int nums[5];
    int i, j;
    
    printf("请输入5个不大于10的正整数:\n");
    
    // 分5次提示用户输入数字,如果输入不符合要求则终止程序
    for (i = 0; i < 5; i++) {
        printf("请输入第%d个整数:", i+1);
        scanf("%d", &nums[i]);
        
        if (nums[i] <= 0 || nums[i] > 10) {
            printf("输入错误!请输入1到10之间的整数。\n");
            return 0;
        }
    }
    
    // 判断是否有重复数字
    for (i = 0; i < 4; i++) {
        for (j = i + 1; j < 5; j++) {
            if (nums[i] == nums[j]) {
                printf("您输入的数据包含重复值。\n");
                return 0;
            }
        }
    }
    
    printf("您输入的数据不包含重复值。\n");
    
    return 0;
}

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7588239
  • 你也可以参考下这篇文章:第4讲 组合逻辑电路实例:编码器、译码器、数据选择器、加法器、数值比较器、代码转换器——计算机逻辑基础
  • 除此之外, 这篇博客: C与C++程序设计学习笔记中的 5、某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪:每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。每位选手都有一个起步的分数为10分。某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗?如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的字符串来表示。例如:0010110011 就是可能的情况。你的任务是算出所有可能情况。每个答案占一行。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include <stdio.h>
    int ti[11] = { 0 }; //用来存储每道题的回答情况0或者1,0表示错误,1表示正确
    //提醒:数组ti的编号实际用1-10
    //score表示当前得分,num是当前第num道题目
    void f(int score, int num)
    {
    	if (num == 11)//10道题目全部做完
    	{
    		if (score == 100)
    		{
    			int i = 0;
    			for (i = 1; i <= 10; i++)
    				printf("%d", ti[i]);
    			printf("\n");
    		}
    	}
    	else //10道题目没有做完
    	{
    		ti[num] = 1; //讨论第num道题目的正确情况
    		f(score * 2, num + 1);
    		ti[num] = 0; //讨论第num道题目的错误情况
    		f(score - num, num + 1);
    	}
    }
    int main(void)
    {
    	f(10, 1);//从基础分10分开始,从第1题开始
    	return 0;
    }
    

  • 您还可以看一下 李月喜老师的企业微信开发自建内部应用开发篇课程中的 开发文档如何阅读,如何寻求帮助,如何找到同行小节, 巩固相关知识点