华为OJ平台试题 ——字符串:输出数组中重复的数组
来源:互联网 发布:wamp apache无法启动 编辑:程序博客网 时间:2024/05/18 12:30
<pre name="code" class="cpp">/* * 题目:输出数组中重复出现的数组(0-9) * * 输入:输入一串数字,中间以逗号隔开,如3,2,2,3,5,6,7,8,9 * 输出:输出数组中重复出现的数字(数字间以空格隔开),输出顺序按原数组中的先后顺序,输出3,2 */#include<stdio.h>#include<string.h>#define N 256/* * 定义一个结构体:数字和数字个数 */ struct CountNum { int n; int count; };int main(void){struct CountNum ao[N]; /* 输出数组 ao */int i, ai[N], Num = 0; /* 输入数组 ai ,Num 输入的数字个数 */char str[N];int len, j, k = 1;/* 输出数组初始化 */for( i = 0; i< N; i++){ao[i].n = 0;ao[i].count = 0;}
<span style="white-space:pre"></span>/* 将数字转换成字符输入,然后把它强制转换成数字,并统计其数目 */gets(str);len = strlen(str);for( i = 0; i < len; i++){if(str[i] >= '0' && str[i] <= '9'){ai[Num] = (int)(str[i] - '0');Num++;}}/* 将第一个数字赋值给输出数组a[0],便于后面进行比较 */ao[0].n = ai[0];ao[0].count = 1;/* * 依次将后面输入的数字与前面的第一个数字进行比较, * 若是相同则其相应的count加1,若是不同将其存入后一个数组,再次进入判断时将其count加1 */for( i = 1; i < Num; i++ ){for ( j = 0 ; j < k ; j++){if( ao[j].n == ai[i]){ao[j].count++;break;}else if( ao[j].n != ai[i] && j == k - 1 ){ao[k].n = ai[i];k++;}}}for( i= 0; i < k; i++){if( ao[i].count >= 2 ) printf("%d ", ao[i].n );}}
0 0
- 华为OJ平台试题 ——字符串:输出数组中重复的数组
- 华为OJ平台试题 —— 数组:字符串反转
- 华为OJ平台试题 ——字符串:打印字符串中重复的字符
- 华为OJ平台试题 ——数组:整形数组合并
- 华为OJ平台试题 —— 数组:输入n个整数,输出其中最小的k个
- 华为OJ平台试题 —— 字符串:字符串加解密
- 华为OJ平台试题 ——字符串:字符串比较排序
- 华为OJ平台试题 —— 字符串:图片整理
- 华为OJ平台试题 —— 字符串:字符串最后一个单词的长度
- 华为OJ平台试题 —— 字符串:名字的漂亮度
- 【华为OJ平台练习题】逆序输出字符串
- 华为OJ平台——在字符串中找出连续最长的数字串
- 华为OJ——整形数组合并
- 华为OJ——二维数组操作
- 华为OJ——整形数组合并
- 华为OJ——整形数组合并
- 华为OJ——数组中最小的K个整数
- 第十六周 OJ平台-逆序输出数组
- 九度OJ 题目1060:完数VS盈数
- 广搜之寻找最短路径
- 苹果公司职员开发常用的设计模式
- 解析PayPal支付接口的PHP开发方式
- Android设计模式系列--原型模式
- 华为OJ平台试题 ——字符串:输出数组中重复的数组
- 【存储】Cocos2d-x将资源目录(Assets)文件拷贝到可写目录
- LeetCode OJ 之 Ugly Number (丑数)
- 前端JavaScript规范 非常详细
- iOS 截取图片,并且保持图片原有比例,同时填充imageView
- 第六章指针和基于指针的字符串
- Java 内存区域和GC机制
- JFileChooser的使用
- 九度OJ 题目1061:成绩排序