笔试题:输入一串数字,以逗号隔开,将数字排序后输出
2015-08-19 20:20
811 查看
题目:输入一串数字,以逗号隔开,将数字排序后输出。
具体要求:如果有几个数字是连续的,只输出最大的和最小的数字
例如:输入:1,4,6,7,9,2,3
输出:1,4,6,7,9
按照以往惯例,先写测试用例
1、输入:1,4,6,7,9,2,3 输出:1,4,6,7,9
2、输入:1,1,1,1,1,1 输出:1
3、输入:1,2,2,2,3,3,3,5 输出:1,3,5
具体要求:如果有几个数字是连续的,只输出最大的和最小的数字
例如:输入:1,4,6,7,9,2,3
输出:1,4,6,7,9
按照以往惯例,先写测试用例
1、输入:1,4,6,7,9,2,3 输出:1,4,6,7,9
2、输入:1,1,1,1,1,1 输出:1
3、输入:1,2,2,2,3,3,3,5 输出:1,3,5
#include<stdio.h> #include<string.h> #include<math.h> //将两个逗号之间的字符变成数字 //k是逗号所在的位置 //count是逗号与前一个逗号之间的字符的个数 int CountNum(char *arr,int k,int count) { int result=0; int i=0; while(count>0) { float ten=pow(10,i); result+=(arr[k-1-i]-48)*ten; i++; count--; } return result; } //把输入的字符串中的数字提取出来,放在num数组中 //length是arr中的字符个数 int ConverToNum(char *arr, int length, int *num) { int n=0; int k=0; int count_temp=0; while(k<=length) { //如果字符是逗号或者结尾,就处理两个逗号之间的字符,转换成数字 if(arr[k]==','||a 4000 rr[k]=='\0') { num =CountNum(arr,k,count_temp); n++; count_temp=0; } else { count_temp++; } k++; } return n; } //把数组中的数字从小到大排序 //这里用的是冒泡排序,你可以选择任意的排序算法 void sort(int *arr, int length) { int temp=0; for(int i=0;i<length;i++) { for(int j=0;j<length-i-1;j++) { if(arr[j]>arr[j+1]) { temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } //将数组中重复的数字剔除 int DropRepeat(int *arr,int length, int *temp) { temp[0]=arr[0]; int i=1; int k=1; while(i<length) { if(arr[i]!=arr[i-1]) { temp[k++]=arr[i]; } i++; } return k; } int main() { char arr[100]={'\0'}; scanf("%s",&arr);//输入字符串 int length=strlen(arr); int num[100]={0}; int count_num=ConverToNum(arr, length, num);//把字符串中的数字提取出来 sort(num,count_num);//数组中的数字排序 int temp[100]={0}; int count_temp=DropRepeat(num,count_num,temp);//数组中重复的数字剔除 int flag=0; printf("%d ",temp[0]); for(int i=1;i<count_temp;i++) { //检查是否几个数字连续,如果和前一个后一个不满足连续的关系才输出 if(temp[i]!=temp[i-1]+1 || temp[i]+1!=temp[i+1]) { printf("%d ",temp[i]); } } getchar(); return 0; }
相关文章推荐
- Android之使用Http协议实现文件上传功能
- 通晓网络测试常用命令
- Nodejs学习笔记之测试驱动
- 可以测试javascript运行效果的代码
- 使用php测试硬盘写入速度示例
- python 测试实现方法
- 举例详解PHP脚本的测试方法
- Php-Redis安装测试笔记
- mysql压力测试脚本实例
- JavaScript 组件之旅(四):测试 JavaScript 组件
- Android触屏测试实例代码
- 解析libcurl在android下的移植、编译与测试
- 几个比较实用的JavaScript 测试及效验工具
- Java中对AtomicInteger和int值在多线程下递增操作的测试
- Python实现测试磁盘性能的方法
- python自动化测试实例解析
- Python之PyUnit单元测试实例
- Appium自动化测试系列2- 写一个Python测试脚本来测试一下YY语音
- IOS UI Automation 学习之常用类,方法和模拟手势
- 测试时尚