解题思路:
开辟一个数组,记录票号出现的情况,然后用两个变量min max记录票据的最小值和最大值
等输入结束以后,从min到max开始遍历数组,如果p[i]==0说明票据i一次也没出现过 如果p[i]>1说明票据i重复出现
参考代码:
#include <stdio.h> int p[100001]; int main () { int i,j; int n,max=0,min=999999; scanf("%d",&n); while(scanf("%d",&n)!=EOF){ p[n]++; if(n>max){ max=n; } if(n<min){ min=n; } } for(i=min;i<max;i++){ if(p[i]==0){ printf("%d ",i); } } for(i=min;i<max;i++){ if(p[i]>1){ printf("%d ",i); } } return 0; }
0.0分
159 人评分
不容易系列 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:567 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1029 |
本人酷爱递归实现很多问题,这里也是浏览:549 |
Cylinder (C语言描述,蓝桥杯)浏览:1247 |
2006年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:661 |
时间转换 (C语言代码)浏览:624 |
排序算法(选择,插入,冒泡)浏览:774 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:712 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:567 |
指针原来是套娃的 2024-03-19 09:45:52 |
第一个循环打印断号 第二个循环打印重号,先断号后重号 顺序不能错