`
zhaoningbo
  • 浏览: 620435 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C语言习题:遍历一次找出重复数和未出现数

    博客分类:
  • c
阅读更多
引言:
  一道C语言练习题,最后相减这一手,神来之笔。记下来体会体会。
  原题:10.假设0-10000数字中有2个数字相同,还有1个数字没有出现,数组为乱序,编写代码仅遍历一次数组找出重复数和未出现的数字。
正文:
  直接上代码,看注释。
#include <stdio.h>

int main(void)
{
	
	int o[10001];
	int a[10001] = {0,};
	int repeat, na;
	int sumo = 0;
	int i;
	
	// 初始化测试数组
	for (i = 0; i < 10001; i++) {
		o[i] = i;
	}
	// 333未出现,888重复了。
	o[333] = 888;

	// 开始找数
	for (i = 0; i < 10001; i++) {
		sumo += o[i];
		if (a[o[i]] == 0) {
			a[o[i]] = o[i];
		}
		else {
			repeat = o[i]; // 找出重复的(此处多包含个0)
		}
	}
	na =(0+10000)*10001/2 - (sumo - repeat); // 差值就是未出现的

	printf("%d, %d\n", repeat, na);

	return 0;
}


  N元问题N个不可相关推导条件则有确定解(莫掐,无解也算确定解)。。。体会体会




1
0
分享到:
评论

相关推荐

    C语言循环练习题(共23题)

    以下是对给定的C语言循环练习题的详细解析: 1. **最大数**: - 这个练习要求编写一个程序,输入一批正数,当输入0时结束,输出这批正数中的最大值。实现这个功能的关键是使用`for`或`while`循环,每次比较当前...

    C语言练习题含答案.rar

    总的来说,这份资料集合通过一系列精心设计的C语言练习题,全方位地覆盖了C语言的基础知识和实际应用,旨在帮助初学者从理论到实践,从简单到复杂,逐步建立坚实的编程基础。无论你是刚刚接触编程的新手,还是希望...

    C语言或者考研复试上机练习题.doc

    这个题目是利用数组存储输入的整数,并通过`&lt;algorithm&gt;`库中的`sort()`函数对数组进行排序,找出最大值(数组末尾元素)和最小值(数组首元素)。这里用到了数组、输入输出、排序和条件访问。 2. **阶乘和的三位...

    c语言数组练习题及答案

    - 遍历数组,更新最大值和次大值的位置。 **代码示例**: ```c int fun(int a[], int n) { int i, j, max, may; if (a[0] &gt; a[1]) { max = 0; may = 1; } else { max = 1; may = 0; } for (i = 2; i ; i++...

    5月25日C语言练习题解析.docx

    本文档是一个C语言练习题解析文档,总共包含五道练习题,涵盖了C语言的多个方面,包括指数计算、数字处理、嵌套循环、数组处理和字符串处理等。 第一题:指数计算 计算10年后我国国民生产总值与现在相比增长多少...

    C语言练习题集熟练掌握C语言

    5. 找出立方和为1099的三位数:该程序运用了嵌套循环遍历所有可能的三位数,通过条件判断找到满足立方和条件的数。这展示了循环结构和条件判断在解决组合问题中的应用。 6. 统计正负零个数:这个程序要求用户输入10...

    C语言练习题

    5. 找出100~200间的素数:可以使用Sieve of Eratosthenes或简单的素数判断法,遍历区间内的每个数,判断是否为素数。 6. 计算1到20的和:使用for循环累加1到20的整数即可。 7. 统计字符串中数字个数:遍历字符串,...

    C语言深度解剖 + C语言练习题

    而"C语言练习题"则会提供一系列的问题和实例,帮助学习者将理论知识转化为实践能力。通过解决这些题目,学习者可以检验自己的理解程度,找出知识盲点,并逐步提高编程技巧。 总的来说,掌握C语言不仅需要理论知识,...

    一般的C语言习题百例

    这些题目涵盖了C语言的基础知识,包括条件运算符、字符串处理、循环、逻辑判断、数组、指针、递归、...以上是对C语言习题的部分解析,每道题都对应了C语言的基础知识点,通过解决这些问题,可以巩固和提高编程能力。

    2014c语言必做题

    - 条件判断:通过条件语句比较找出最大值和最小值。 - 算术运算:加法`+`、除法`/`等基础运算的应用。 - **E03. 圆与球的计算** - 描述:从键盘输入一个浮点变量`r`,以`r`为半径,求相应的圆的周长和面积,以及...

    c语言习题c语言习题.docx

    这些C语言习题涵盖了许多基础概念,包括输入输出、循环、条件判断、数组、函数以及数值计算。让我们逐一解析每个习题的知识点: 1. **分数平均值**:习题5-2展示了如何处理用户输入的10个分数,去除最高分和最低分...

    C语言上机练习题[文].pdf

    32. 极值寻找:遍历数组找出最大值和最小值。 33. 鸡兔同笼问题:建立方程,通过枚举或搜索解决。 34. 年龄和问题:建立线性方程组,解出年龄。 35. 长方体属性计算:定义函数计算体积和表面积,使用全局变量返回...

    找出给定一系列整数中的最小值——C语言代码

    在编程领域,C语言是一种...总之,找出一系列整数中的最小值是C语言学习过程中的基本练习,它有助于理解和掌握基本的数据操作和控制结构。通过这样的练习,初学者可以逐步熟悉C语言,为后续的编程学习打下坚实的基础。

    C语言 南开上机100题

    【C语言 南开上机100题】是一份针对C语言编程的学习资源,包含一系列练习题目,旨在提升编程者的C语言应用能力。以下是部分题目的解析和知识点讲解: 1. 第1题:该题考察了数组处理和计算平均值的能力。函数`fun`...

    算法:C语言实现(第1~4部分)答案

    - 选择排序每次找出未排序部分的最大(或最小)元素,放到已排序部分的末尾。 - 插入排序则是将元素逐个插入到已排序的部分,保持有序状态。 3. **查找算法**: - 第2部分可能涉及线性查找、二分查找等查找算法...

    C语言兴趣小组练习题.doc

    14. **一个奇异的三位数**:进制转换和数位反转,需要理解不同进制的转换规则。 15. **4位反序数**:设定数字和它的反序数的关系,通过方程求解。 16. **图形输出**:字符图形绘制,利用循环和条件语句。 17. **...

    《C语言程序设计》复习题库(1).pdf

    26. 韩信点兵问题:通过模运算找出规律,确定士兵数量。 27. 交换两数:通过临时变量或异或操作实现。 28. 辗转相除法求最大公约数:使用欧几里得算法。 29. 三位数拆分:提取个位、十位、百位,可以使用模运算和除...

    c语言一百道基础练习题

    找出一个数,该数加上100后为一个平方数,再加上168后还是另一个平方数。 **代码分析**: 1. **循环遍历**:通过循环来枚举可能的数。 2. **数学函数**:使用`sqrt()`函数计算平方根。 3. **条件判断**:检查是否...

    C语言基本练习题.doc

    【C语言基本练习题】 这些练习题主要涵盖了C语言的基础编程知识,包括条件判断、循环、函数使用、算术运算以及字符串处理等。下面逐一解析每个题目涉及的知识点: 1. 计算出租车费用:该题目的核心在于理解条件...

    C语言回文数OJ题和答案

    具体任务是找出所有小于65536,并且同时是完全平方数的回文数。 首先,我们需要了解如何判断一个数是否为回文数。一种方法是将数字转换为字符串,然后比较其前半部分和后半部分是否相同。另一种方法是使用两个指针...

Global site tag (gtag.js) - Google Analytics