引言:
一道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个不可相关推导条件则有确定解(莫掐,无解也算确定解)。。。体会体会
分享到:
相关推荐
C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题C语言练习题
一球从100米高度自由落下,每次落地后反跳回原高度的一半;...以上这篇C语言练习题:自由落体的小球简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: 非递归中序遍历二叉树(算法2): 层次遍历二叉树: 递归计算单...
数据结构 二叉树 用C语言创建与遍历 前序 中序遍历 后序遍历
用C语言实现二叉树的前序遍历、中序遍历以及后序遍历。
一个用c语言实现的二叉树的 先序遍历,中序遍历、后序遍历的算法。
采用c语言编程,递归遍历一个文件夹中的所有文件,包括子文件夹
c语言练习题c语言练习题c语言练习题c语言练习题c语言练习题c语言练习题c语言练习题c语言练习题
链表的创建和遍历。这是一个最基本的操作,元素类型定义为int 本源程序包含了链表的创建和遍历操作
c语言,二叉树的建立和遍历操作。数据结构Bitree
实现图的创建 打印一个有向图 深度优先遍历 广度优先遍历 希望对大家有帮助啊
该程序是我写的博客“一起talk C栗子吧(第四十回:C语言实例--遍历二叉树)”的配套程序,共享给大家使用
利用递归方式完成二叉树的简单创建以及遍历。
中职c语言练习题.doc
C语言练习题.zip
c c++ c语言遍历文件夹 c语言读文件 c语言写文件 高效算法
完数是指一个整数恰好等于它的因子之和(除自身外),则称这个数为完数。从键盘先后输入两个不大于9999的正整数m和n,若m>n,则交换两数。然后求m~n(m和n均为正整数且m≤n)之间的所有完数。 【输入形式】 先后...
[问题描述] 很多涉及图上操作的算法都是以图的遍历操作为基础...以邻接多重表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。
C语言遍历文件夹目录中文件和文件夹
中序遍历的非递归算法 C语言数据结构中序遍历的非递归算法