输入格式:

两个整数,第一个表示n,第二个表示m。

输出格式:

一个整数,表示第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。

输入样例:

2 4

输出样例:

15

时间限制:500ms内存限制:32000kb

#includeint main()

{

int count =0,sum=0; //定义计数器count,以及累加器(素数和)sum

int isPrime=1; //先拟定每个数都是素数

int m,n,i,j; //m,n是范围,i,j是for循环里的变量名称

scanf("%d %d",&n,&m);

if(n>=0&&m<=200&&n<=m){ //题目m,n的范围

for(i=2;;i++){ //从整数2开始不停的判断直到满足题意

isPrime=1; //一定要在第二个for开始之前给isPrime赋值,否则会死循环

for(j=2;j=n&&count<=m&&isPrime){ //当在题目范围内了(n),计算素数和

sum+=i;

}

if(count==m) { //为了节省运行时间使用goto,直接前往程序指定位置

goto end;

}

}

}

}

end:

printf("%d",sum);

return 0;

}

如果有更简便,或者运用其它知识点写出的程序,都会在下方更新、补充。希望大家都能自己写一遍程序,这样更易理解。

2020/4/8日:优化程序(isPrime==1) -> (isPrime)

心路历程:

由于我本身也是从零学起,这题卡了很久,第一次写的程序实在太复杂,用了'sum1+sum2=sum'这种思路,导致程序超时,提交不成功。后来我改变思路,回想老师在本节课里讲的内容,也就是对比课上素数的几个例子,稍加修改,便成了以上的代码,结合老师推荐的goto,进一步缩短运行时间。

在写这个程序的时候,我把isPrime这个变量的放置问题也足足困扰了我很久,起初,我只在开头声明变量的时候,声明isPrime=1,在for循环中不再提及,导致程序无法运行结束,形成死循环,经过调试,发现当有一个整数到了以下阶段时

if(i%j==0){ //不是?isPrime=0,跳出当前循环

isPrime=0;

break;

}

isPrime=0了,然后break语句使得程序跳出最内层的for循环语句,那么,问题就来了!!!

for(i=2;;i++){

for(j=2;j

如果没有在第一个for循环语句内声明isPrime=1,那isPrime就始终、永远=0了,导致程序永远结束不了,这也就是为什么要在这个位置声明的原因。(真的困扰了一个晚上,第二天起来就想出来了,看来还是应该有充足的睡眠啊)

2.念整数(5分)

题目内容:

你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。

如输入1234,则输出:

yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:

fu er san si yi

输入格式:

一个整数,范围是[-100000,100000]。

输出格式:

表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:

-30

输出样例:

fu san ling

时间限制:500ms内存限制:32000kb

#include#include//要用pow函数(x的n次方)

int main()

{

int x,y; //x:输入的数,y:用来获取最高位

scanf("%d",&x);

int t;

int count; //计数器

if(x<0){ //如果输入的数是负数,变正

t=-x;

}

else{

t=x;

}

do{ //计算输入数字的位数

t=t/10;

count++;

}while(t>0);

y=pow(10,cnt-1); //得到y,接下去就可以用来获得最高位数字

if(x<0){ //注意!!t现在已经等于0了所以为了便捷,直接ctrl-c and ctrl-v并填上fu(负数前多输出个“fu ”)

t=-x;

printf("fu ");

}

else{

t=x;

}

do{

switch(t/y){ //switch case语句这节课教的

case 0:printf("ling");break;

case 1:printf("yi");break;

case 2:printf("er");break;

case 3:printf("san");break;

case 4:printf("si");break;

case 5:printf("wu");break;

case 6:printf("liu");break;

case 7:printf("qi");break;

case 8:printf("ba");break;

case 9:printf("jiu");break;

}

if(y>9){ //这样最后一个拼音后没有空格

printf(" ");

}

t=t%y; //去掉最高位

y=y/10; //减少一位

}while(y>0);

return 0;

}

所用语句函数:

do while语句

if语句

swichcase语句

pow函数

心路历程:

首先头文件要加上math.h因为pow函数要用,第二个我考虑到的问题在于,如何处理负数,于是想到了把输入的值再赋值给一个变量t,将负数变为正数,题目要求负数的符号要用fu来表示,于是我就在这个if语句中添加上了一句printf("fu "),这样做其实包含着问题,我们等会再说。

if(x<0){ //如果输入的数是负数,变正

t=-x;

printf("fu ");

}

else{

t=x;

}

接下来思考如何每次获得最高位数字,就用了以下do while语句,计算出输入数的位数。

do{ //计算输入数字的位数

t=t/10;

count++;

}while(t>0);

接着用pow()函数变成10的n次方,这样就可以满足单次获取最高位数的需求。

y=pow(10,cnt-1);

最后运用switchcase将0-9这10种情况分别列出,这里的break很关键,不加的话就会执行后续语句,使得程序输出产生偏差。(t/y是最高位数字的意思)

switch(t/y){ //switch case语句这节课教的

case 0:printf("ling");break;

case 1:printf("yi");break;

case 2:printf("er");break;

case 3:printf("san");break;

case 4:printf("si");break;

case 5:printf("wu");break;

case 6:printf("liu");break;

case 7:printf("qi");break;

case 8:printf("ba");break;

case 9:printf("jiu");break;

}

但是当我运行时,程序却出现了错误,无论我输入怎样的数字,正还是负,后面都是用拼音打出的ling ling ling...错在哪里呢?我再重新检查程序发现t已经用于计算输入数的位数了,那段do while语句结束后的t的值为0,这才出现了后续的错误,于是再复制一遍上述判断正负的语句就可以了。

if(x<0){ //如果输入的数是负数,变正

t=-x;

}

else{

t=x;

}

do{ //计算输入数字的位数

t=t/10;

count++;

}while(t>0);

y=pow(10,cnt-1); //得到y,接下去就可以用来获得最高位数字

if(x<0){ //注意!!t现在已经等于0了所以为了便捷,直接ctrl-c and ctrl-v并填上fu(负数前多输出个“fu ”)

t=-x;

printf("fu ");

}

else{

t=x;

}

程序顺利执行!

认为我写的还不错,解答了你的疑惑的小伙伴们不妨点个赞、关注下我。本课程题解将会逐步更新。如文章中有你不明白的地方,又或者有更简单易懂的程序,都请在评论区大胆的提出你的疑惑或想法,博主看到一定及时解答问题,更优解会更新在文章中。让我们携手共进,早日成为lv100,能独当一面的程序猿、媛

c语言mooc第五周作业,中国大学MOOC 浙江大学《程序设计入门——C语言》第5周:循环控制 测验与作业...相关推荐

  1. python语言能够跨平台使用吗_中国大学MOOC: Python语言能够跨平台使用。

    中国大学MOOC: Python语言能够跨平台使用. 答:对 自我评价是自我意识的主要组成部分,在人的个性发展中发挥着重要作用.其特点有() 答:A.自我评价的自觉性提高 B.自我评价的主动性提高 C ...

  2. 新农慕课python答案、第七周_中国大学MOOC(慕课)_Python机器学习应用_章节答案期末答案...

    中国大学MOOC: 我国GDP增速在全球各经济体中处于中高速状态.这样,中国章节收入因素并没有对中国的消费产生极大的向下的约束,中国章节因此居民收入因素不是影响消费增速的因素. 经过文艺复兴和教育的世 ...

  3. 0098 高级程序设计 c语言 在线作业,中国大学MOOC(C语言程序设计精髓)作业

    第七周 在线编程题 1.n层嵌套平方根的计算(4分) 题目内容: 编写程序利用递归法实现如下所示n层嵌套平方根的计算: 递归函数原型:double Y(double x, int n): 程序运行结果 ...

  4. 浙江大学程序设计入门C语言第五周编程练习第一题

    题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的 ...

  5. 中国大学MOOC浙江大学“程序设计入门——C语言”的PTA练习题目集答案

    第I阶段,包含变量.语句.循环部分的题目,不包括数组.结构.基础算法的题目.已通过PTA测试点,所用知识均为变量.语句.循环.适合初学者观看,博主技术有限,同样以初学者视角来写,有不足之处还请多多指出 ...

  6. python语言程序设计基础考试题库_中国大学MOOC(慕课)_Python语言程序设计基础_测试题及答案...

    该图为我国某史前文明遗址某原始村落的平面复原示意图,请根据图中提供的相关信息,完成16-17题.小题1:下列关 图为河谷中的四个乡村聚落,其中最有可能发展为城市的是A.aB.bC.cD.d 自然条件对 ...

  7. python语言程序设计基础考试题库_中国大学MOOC(慕课)_Python语言程序设计基础_章节考试选修课答案...

    中国章节管理过程中的首要职能是( ) 参考答案如下 大学组建过程进行到第()步,团队的大致结构就出来了.慕课团队组建的原则 程序组建拍摄团队时可以分工不那么明细设计组建班集体的意义包括有利于 ( ) ...

  8. 用python玩转数据慕课答案第八周_中国大学MOOC慕课用Python玩转数据章节测试答案...

    在①丙烯②氯乙烯③苯④甲苯四种有机物中,分子内所有原子均在同一平面的是()A.①②B.②③C.③④D.②④ 美国梅奥诊所的研究人员最近发现,绿茶中含有EGCG(表没食子儿茶素没食子酸酯)物质具有抗癌作 ...

  9. 用python玩转数据慕课答案第三周_中国大学MOOC(慕课)用Python玩转数据章节测验答案...

    如图是周期表的一部分,已知A.B.C.D都是短周期元素,四种元素原子核外共有56个电子,推断A.B.C.D各是什么元素, 如图为元素周期表中短周期的一部分.已知a原子的最外层电子数比次外层电子数少3, ...

  10. 中国大学mooc乐学python答案_中国大学MOOC(慕课)_乐学Python_章节考试选修课答案

    下列关于排烟量的选取的说法错误的是().A.当排烟风机担负多个防烟分区时,其风量应按最大一个 如图,⊙O的半径OC=10cm,直线l⊥CO,垂足为H,交⊙O于A,B两点,AB=16cm,直线l平移多少 ...

最新文章

  1. error_reporting笔记
  2. Idea快速生成War包
  3. 2017-2018-1 20155320第十周课下作业-IPC
  4. loj#10050-The XOR Largest Pair【Trie(字典树)】
  5. mysql not in 转化_[转]mysql里not in语句怎么写 | 学步园
  6. python中文件基本操作命令及注意事项
  7. html 指定对象为块元素,html内联(行内)元素、块级(块状)元素和行内块元素分类...
  8. 文件服务器数据备份方案,BACKUPPC服务器数据备份方案.pdf
  9. 【laravel5.4】使用baum\node 类库实现无限极分类
  10. 这顶海贼王的帽子,我Python给你带上了 | 【人脸识别应用】
  11. MySQL优化(二)
  12. LocalBroadcastManager 的实现原理,还是 Binder?
  13. web系统服务器登录不上去,宝塔面板严重错误登录不上怎么办
  14. C++处理有道单词导出单词本
  15. DNA测序发展史(3):三代测序
  16. 常见功能测试设计方法
  17. 家用wifi能查到浏览记录吗_2020最好用的行车记录仪推荐
  18. 两化融合贯标之-申请表案例
  19. 刷题日记 acwing 2058笨拙的手指 位运算的运用,迭代器的使用,秦九稍(别的进制转化为10进制)
  20. Linux下访问处理器硬件信息原理:图形化工具RWLinux的诞生

热门文章

  1. php原始 实现双向队列,用PHP实现一个双向队列
  2. 【优化预测】基于matlab麻雀算法优化BP神经网络预测【含Matlab源码 F002期】
  3. 【TWVRP】基于matalb粒子群算法求解带时间窗的多客户单仓库车辆路径规划问题【含Matlab源码 1407期】
  4. 【交通标志识别】基于matlab GUI矩匹配算法路标识别【含Matlab源码 1175期】
  5. 【TWVRP】基于matalb蚁群算法求解带时间窗的车辆路径规划问题【含Matlab源码 775期】
  6. 【基础教程】基于matlab工具voicebox函数中文说明【含Matlab源码 032期】
  7. 【路径规划】基于matlab遗传算法求解多物流中心开放式车辆路径规划【含Matlab源码 017期】
  8. mysql 回滚_【133期】面试官:你说熟悉MySQL事务,那来谈谈事务的实现原理吧!...
  9. heroku_如何通过5个步骤在Heroku上部署机器学习UI
  10. 标记重复值删除重复值