|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【问题描述】
将某课程上课周次转换为课表显示形式。从键盘录入上课周次,将其输出为逗号分隔的字符串,将连续周次合并为 x-y的形式。
【输入形式】
总共输入1行,其为空格分隔的自然数数列,输入必须从小到大排列,用-1表示输入结束。
【输出形式】
只输出1行。不连续的周次之间用英文逗号“,”分开,连续的周次之间用英文横线“-”连接起止周
【样例输入1】
1 2 3 4 5 6 -1
【样例输出1】
1-6
【样例输入2】
1 3 4 5 6 8 9 10 12 13 14 16 18 -1
【样例输出2】
1,3-6,8-10,12-14,16,18
【样例输入3】
3 -1
【样例输出3】
3
- char ch[]={1,2 ,3, 4 ,5, 6, -1};
- int i=1,start=0,end=0;
- while (-1!=ch[i-1])
- {
- if ((ch[i]-ch[i-1])!=1)
- {
- end=i-1;
- if (end-start)
- {
- printf("%d-%d",ch[start],ch[end]);
- }
- else
- {
- printf("%d",ch[start]);
- }
- if(-1!=ch[end+1])printf(",");
- start=i;
- }
- i++;
- }
复制代码
|
|