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 分)相关推荐

  1. 计算机网络按覆盖范围分类可分为哪三类,单选(10分) 计算机网络按覆盖范围一般可分为三类,它们是( )...

    单选(10分) 计算机网络按覆盖范围一般可分为三类,它们是( ) 更多相关问题 [填空题] 话务负荷能力是指在一定的呼损率下,交换系统在()可以负荷的话务量.话务量又称为电话负载,常用"小时 ...

  2. 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第2课2.10节使用内容识别修补...

    本节书摘来自异步社区<Adobe Photoshop CS6中文版经典教程(彩色版)>一书中的第2课2.10节使用内容识别修补,作者[美]Adobe公司,更多章节内容可以访问云栖社区&qu ...

  3. 考研国家线罕见大幅上涨,12个学科涨幅10分以上,超300万人将落榜

    金磊 博雯 发自 凹非寺 量子位 | 公众号 QbitAI 随着2022年研考国家线的发布,"考研"这一话题再次成为焦点. 据央视网报道,全国457万考研大军,院校计划招生人数约1 ...

  4. 7-5 密码锁 (10 分)

    7-5 密码锁 (10 分) 在神秘的乌啦啦国度有一个非常神秘的基地,多年来,小明家族一直在为前往神秘基地而努力着.终于在历经数千年的探索之后,他们来到了神秘基地的大门口. 现在他们站在入口处,但要进 ...

  5. C语言函数题-取子串 (10分)

    6-3取子串 (10分) 编写代码,完成从指定字符串中取指定子串的代码(不利用string.h类库),给定的是子串起始位置和长度,返回一个新的子字符串的首地址.如果起始位置不妥,返回空串.如果后面的子 ...

  6. C语言入门题-7-1 最大和最小 (10分)

    7-1 最大和最小 (10分) 请使用指针法(间接访问)编写程序,程序的功能是从键盘输入 10 个数,求其最大值和最小值的差. 输入格式: 输入10个整数 输出格式: 无 输入样例: 1 2 3 4 ...

  7. C语言程序练习- L1-040 最佳情侣身高差 (10分)

    L1-040 最佳情侣身高差 (10分) 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最 ...

  8. C语言程序练习-L1-018 大笨钟 (10分)

    L1-018 大笨钟 (10分) 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟 ...

  9. C语言程序练习- L1-010 比较大小 (10分)

    L1-010 比较大小 (10分) 本题要求将输入的任意3个整数从小到大输出. 输入格式: 输入在一行中给出3个整数,其间以空格分隔. 输出格式: 在一行中将3个整数从小到大输出,其间以"- ...

最新文章

  1. 哨兵机器人钢力士_哨兵胳膊都被卸了?巴西厂X战警钢力士正式公布
  2. 使用Prometheus针对自己的服务器采集自定义的参数
  3. SQL Server代理(11/12):维护计划作业
  4. 你还记得当初是怎么对我的吗? | 今日最佳
  5. 国家杰出青年入选者分析:北大最多,深大成“黑马”
  6. java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案
  7. CentOS6.8_64位手动安装MySQL5.6
  8. 优达学城深度学习之六——TensorFlow卷积神经网络
  9. vector与list的接口介绍与如何使用以及区别,附代码。
  10. elementui 表格英文加数字排序_解决vue elementUI中table里数字、字母、中文混合排序问题...
  11. 如何利用systrace分析Android App的死锁问题
  12. lisp 天正标高_建筑设计选择 CAD 和天正画图哪个更好?
  13. UCI机器学习数据库的Python API介绍
  14. Android设置WIFI静态IP
  15. ​​​​​​​NISP一级考试题库
  16. 如何初始化阿里云服务器
  17. python从键盘输入一个字符串、将小写字母全部_从键盘输入一个字符串_将其中的小写字母全部转换成大写字母...
  18. vue过滤器的定义及使用
  19. 赠书:HTML5 Canvas 2d 编程必读的两本经典
  20. Excel柱状图一个系列中各个值如何单独设置误差线

热门文章

  1. Cannot lock Java compile cache (xxx)as it has already been locked by this process 解决办法
  2. 这家工作室为网飞、亚马逊、迪士尼都制作过特效
  3. 开源的PLM软件ARAS你了解吗
  4. Aras入门教程5_项目管理
  5. 数据库-2-关系模型
  6. Python迭代器开发
  7. 关于linux遭受挖矿病毒,伪装为trace
  8. AIX smit 菜单介绍
  9. 503 Service Unavailable
  10. 基于Spring cloud ribbon实现多版本控制