7-1 有课几何 (10 分)
7-1 有课几何
小明看到课表上某课程的上课周次是这样标示的:1, 8,12-17,3-6 。请你编写程序,将从输入设备上输入的如前述类似的周次表示字符串,转换成标准的周次表示。
输入格式:
一个数字表示某一周,两个数字中间以-号分隔的表示某周次区间,a-b表示 区间[a,b],程序确保a<b,但不能够确保周次间是升序排列的。所有的周次在【1,20】内。 输入有若干行,每行一个课程的上课周次。
输出格式:
从小到大的顺序输出有课程的周次,周与周间以逗号分隔,最后没有逗号。
输入样例:
在这里给出一组输入。例如:
3-5,8,13-15,17,10-12
13-18,5-9
3-13 , 13 - 17
输出样例:
在这里给出相应的输出。例如:
3,4,5,8,10,11,12,13,14,15,17
5,6,7,8,9,13,14,15,16,17,18
3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
#include<stdio.h>
#include<stdlib.h>
void bubbleSort(int arr[],int N);
int main()
{int i=0,j=0,x=0,len=0,N;char a[1000]={NULL};int c[1000]={NULL};int b[20]={NULL};while(gets(a)!=NULL){for(i=0;a[i];i++){c[i]=a[i]-48;//字符数组转整形数组 len++;}for(i=0;i<len;i++)//删掉空格 {if(c[i]==-16){for(x=i;x<len;x++)c[x]=c[x+1];c[len-1]=NULL;len--;}}
for(i=0;i<len;i++)//删掉空格 {if(c[i]==-16){for(x=i;x<len;x++)c[x]=c[x+1];c[len-1]=NULL;len--;}}
for(i=0;i<len;i++)//删掉空格 {if(c[i]==-16){for(x=i;x<len;x++)c[x]=c[x+1];c[len-1]=NULL;len--;}}for(i=0;i<len;)
{i++;
if(c[i]==-4&&i==1)
{b[j]=c[i-1];j++;for(x=i;x<len;x++)c[x-1]=c[x+1];len=len-2;i=0;
}
else if(c[i]==-4&&i==2)
{b[j]=c[i-2]*10+c[i-1];j++;for(x=i;x<len;x++)c[x-2]=c[x+1];len=len-3;i=0;
}
else if(c[i]==-4&&i==3)
{for(x=c[i-3];x<=c[i-1];x++){b[j]=x;j++;}for(x=i;x<len;x++)c[x-3]=c[x+1];len=len-4;i=0;
}
else if(c[i]==-4&&i==4)
{for(x=c[i-4];x<=(c[i-2]*10+c[i-1]);x++){b[j]=x;j++;}for(x=i;x<len;x++)c[x-4]=c[x+1];len=len-5;i=0;
}
else if(c[i]==-4&&i==5)
{for(x=c[i-5]*10+c[i-4];x<=(c[i-2]*10+c[i-1]);x++){b[j]=x;j++;}for(x=i;x<len;x++)c[x-5]=c[x+1];len=len-6;i=0;
}
}if(i==1)
{b[j]=c[0];j++;
}
else if(i==2)
{b[j]=c[1]*10+c[0];j++;
}
else if(i==3)
{for(x=c[0];x<=c[2];x++){b[j]=x;j++;}
}
else if(i==4)
{for(x=c[0];x<=(c[2]*10+c[3]);x++){b[j]=x;j++;}
}
else if(i==5)
{for(x=c[0]*10+c[1];x<=(c[3]*10+c[4]);x++){b[j]=x;j++;}} bubbleSort(b,j);
for(i=0;i<j;i++)
{if(b[i]==b[i+1]){for(x=i;x<j;x++)b[x]=b[x+1];b[j-1]=NULL;j--;}
}
for(i=0;i<j;i++)
{if(b[i]==b[i+1]){for(x=i;x<j;x++)b[x]=b[x+1];b[j-1]=NULL;j--;}
}for(i=0;i<j;i++)//输出 if(i!=j-1)printf("%d,",b[i]);elseprintf("%d",b[i]);printf("\n"); len=0;j=0;}}
void bubbleSort(int arr[],int N)
{int temp,i,j;for(i=0;i<N-1;i++) {for(j=i+1;j<N;j++){if(arr[i]>arr[j]){temp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}}
此题不易,望支持
7-1 有课几何 (10 分)相关推荐
- 计算机网络按覆盖范围分类可分为哪三类,单选(10分) 计算机网络按覆盖范围一般可分为三类,它们是( )...
单选(10分) 计算机网络按覆盖范围一般可分为三类,它们是( ) 更多相关问题 [填空题] 话务负荷能力是指在一定的呼损率下,交换系统在()可以负荷的话务量.话务量又称为电话负载,常用"小时 ...
- 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第2课2.10节使用内容识别修补...
本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第2课2.10节使用内容识别修补,作者[美]Adobe公司,更多章节内容可以访问云栖社区&qu ...
- 考研国家线罕见大幅上涨,12个学科涨幅10分以上,超300万人将落榜
金磊 博雯 发自 凹非寺 量子位 | 公众号 QbitAI 随着2022年研考国家线的发布,"考研"这一话题再次成为焦点. 据央视网报道,全国457万考研大军,院校计划招生人数约1 ...
- 7-5 密码锁 (10 分)
7-5 密码锁 (10 分) 在神秘的乌啦啦国度有一个非常神秘的基地,多年来,小明家族一直在为前往神秘基地而努力着.终于在历经数千年的探索之后,他们来到了神秘基地的大门口. 现在他们站在入口处,但要进 ...
- C语言函数题-取子串 (10分)
6-3取子串 (10分) 编写代码,完成从指定字符串中取指定子串的代码(不利用string.h类库),给定的是子串起始位置和长度,返回一个新的子字符串的首地址.如果起始位置不妥,返回空串.如果后面的子 ...
- C语言入门题-7-1 最大和最小 (10分)
7-1 最大和最小 (10分) 请使用指针法(间接访问)编写程序,程序的功能是从键盘输入 10 个数,求其最大值和最小值的差. 输入格式: 输入10个整数 输出格式: 无 输入样例: 1 2 3 4 ...
- C语言程序练习- L1-040 最佳情侣身高差 (10分)
L1-040 最佳情侣身高差 (10分) 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最 ...
- C语言程序练习-L1-018 大笨钟 (10分)
L1-018 大笨钟 (10分) 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟 ...
- C语言程序练习- L1-010 比较大小 (10分)
L1-010 比较大小 (10分) 本题要求将输入的任意3个整数从小到大输出. 输入格式: 输入在一行中给出3个整数,其间以空格分隔. 输出格式: 在一行中将3个整数从小到大输出,其间以"- ...
最新文章
- 哨兵机器人钢力士_哨兵胳膊都被卸了?巴西厂X战警钢力士正式公布
- 使用Prometheus针对自己的服务器采集自定义的参数
- SQL Server代理(11/12):维护计划作业
- 你还记得当初是怎么对我的吗? | 今日最佳
- 国家杰出青年入选者分析:北大最多,深大成“黑马”
- java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案
- CentOS6.8_64位手动安装MySQL5.6
- 优达学城深度学习之六——TensorFlow卷积神经网络
- vector与list的接口介绍与如何使用以及区别,附代码。
- elementui 表格英文加数字排序_解决vue elementUI中table里数字、字母、中文混合排序问题...
- 如何利用systrace分析Android App的死锁问题
- lisp 天正标高_建筑设计选择 CAD 和天正画图哪个更好?
- UCI机器学习数据库的Python API介绍
- Android设置WIFI静态IP
- ​​​​​​​NISP一级考试题库
- 如何初始化阿里云服务器
- python从键盘输入一个字符串、将小写字母全部_从键盘输入一个字符串_将其中的小写字母全部转换成大写字母...
- vue过滤器的定义及使用
- 赠书:HTML5 Canvas 2d 编程必读的两本经典
- Excel柱状图一个系列中各个值如何单独设置误差线