本人能力有限,发出只为帮助有需要的人。
建议同学们自己写完后再进行讨论。
1
连续数字序列(10分)
问题描述:输入一个正整数S ,打印出所有和为 S 的连续正整数序列(至少含有两个数)。例如对于15有3个连续序列分别为1 2 3 4 5;4 5 6和7 8。
输入:一个正整数S (0< S <=10000 ),即连续序列的和。
输出:第一行输出“ANSWER“;第二行以后按如下规则输出。如果有连续序列其和为 S,则逐行输出每个连续序列;其中每行给出一种连续序列,且递增排序序列中数字;当有多个序列时,则按序列第一个数字的递增排序每一行;每行每个数字后都有一个西文空格,每行最后含有一个换行符`n`。如果没有连续序列其和为 S,则不输出任何字符。
样例1:
输入:
15
输出:
ANSWER
1 2 3 4 5
4 5 6
7 8
样例2:
输入:
4
输出:
ANSWER
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24#include<stdio.h> int main(void) { int a,j,k,i,sum; scanf("%d",&a); printf("ANSWERn"); for(j=1;j<a;j++)//历经三次循环 { //printf("%dn",j); sum=0; for(i=j;sum<a;i++) { sum+=i; //printf("%dn",i); if(sum==a) { for(k=j;k<=i;k++)//输出多数相加 printf("%d ",k); printf("n"); } } } }
2
求参加竞赛人数(10分)
题目内容:某中学举行数学竞赛。假设每个年级组人数不超过100人,一年级组中及格生是不及格生的3倍多1人;二年级组中及格生是不及格生的6倍;二年级组及格生比一年级组及格生多5人。编写程序,求一、二年级组共有多少学生参加竞赛。
输入:无
输出:参加竞赛人数(答案有多个,每个答案占一行,按从小到大排列)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#include<stdio.h> int main(void) { int a,b,c,k; for(k=0;k<=24;k++)//k为一年级不及格 { a=3*k+1;//a为一年级及格 b=a+5;//b为二年级及格 c=100; if(b%6==0)//c为二年级不及格 c=b/6; if(k+a<=100&&b+c<=100) printf("%dn",k+a+b+c); } }
最后
以上就是天真鱼最近收集整理的关于吉林大学 中国大学MOOC 高级语言程序设计 第四讲:循环进阶--编程题--拓展篇(不计入成绩)的全部内容,更多相关吉林大学内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复