第五章--MOOC---C语言_第1页
第五章--MOOC---C语言_第2页
第五章--MOOC---C语言_第3页
第五章--MOOC---C语言_第4页
第五章--MOOC---C语言_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档可能无法思考全面,请浏览后下载! 1判断一个整型数据有几位v2.0(4分)题目内容:从键盘输入一个整型数据(int型),编写程序判断该整数共有几位,并输出包含各个数字的个数。例如,从键盘输入整数16644,该整数共有5位,其中有1个1,2个6,2个4。程序运行结果示例1:Please enter the number:1222612226: 5 bits1: 12: 36: 1程序运行结果示例2:Please enter the number:-12243-12243: 5 bits1: 12: 23: 14: 1输入格式: "%d"25 / 31输出格式:输

2、入提示信息:"Please enter the number:n"判断该整数共有几位:"%d: %d bitsn"包含数字0的个数:"0: %dn"包含数字1的个数:"1: %dn"包含数字2的个数:"2: %dn"包含数字3的个数:"3: %dn"包含数字4的个数:"4: %dn"包含数字5的个数:"5: %dn"包含数字6的个数:"6: %dn"包含数字7的个数:"7: %dn"包含数字8的个

3、数:"8: %dn"包含数字9的个数:"9: %dn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。题目内容:企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发

4、放奖金总数?程序运行结果示例1:789bonus=78程序运行结果示例2:789516bonus=36342输入格式: "%ld"输出格式:"bonus=%ldn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你题目内容:修改下面这个程序使其快速计算1+2+3+n的值,n从键盘输入。并按照下面给出的运行示例检查程序。1. #include  <stdio.h>2. int main()3. 4. int i, j, sum = 0,&

5、#160;n=100;5. for (i=1,j=n; i<=j; i+,j-)6. 7. sum = sum + i + j;8. 9. printf("sum = %d", sum);10. return 0;11. 程序运行结果示例1:5sum = 15程序运行结果示例2:6sum = 21输入格式: "%d"输出格式: "sum = %d"  (注意:等号两侧各有

6、一个空格)为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。修改下面这个用do-while语句实现的程序,改用while语句实现,并对比其优缺点。1. #include  <stdio.h>2. int main()3. 4. int sum = 0, m;5. do6. printf("Input m:n");7. scanf("%d", &m);8. sum = sum + 

7、m;9. printf("sum = %dn", sum);10. while (m != 0);11. return 0;12. 程序运行结果示例:Input m:1sum = 1Input m:2sum = 3Input m:3sum = 6Input m:4sum = 10Input m:0输入格式:"%d"输出格式:输入提示: "Input m:n"输出累加和: "sum = %dn"(注意:等号两侧各有一个空格)为避免出现格式错误,请直

8、接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC题目内容:我国古代的张丘建算经中有这样一道著名的百鸡问题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”其意为:公鸡每只5元,母鸡每只3元,小鸡3只1元。用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?目前程序运行结果有误,请问为什么会比正确答案多出三个解?不仅要找出错误和修正错误,还要求利用以前学过的知识分析错误的原因。1. #include <stdio.h>2. int main()3. 4. int 

9、;x, y, z;5. for (x=0; x<=20; x+)6. 7. for (y=0; y<=33; y+)8. 9. z = 100 - x - y;10. if (5*x + 3*y + z/3 = 100)11. 12. printf("x=%d, y=%d, z=%dn", x, y, z)

10、;13. 14. 15. 16. return 0;17. 程序目前的运行结果:x=0, y=25, z=75x=3, y=20, z=77x=4, y=18, z=78x=7, y=13, z=80x=8, y=11, z=81x=11, y=6, z=83x=12, y=4, z=84程序正确的运行结果:x=0, y=25, z=75x=4, y=18, z=78x=8, y=11, z=81x=12, y=4, z=84输入格式: 无输出格式:"x=%d, y=%d, z=%dn为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:5

11、00ms内存限制:32000kbC题目内容:从键盘任意输入一个正整数,编程判断它是否是素数,若是素数,输出“Yes!”,否则输出“No!”。已知负数、0和1都不是素数。请找出下面程序的错误并改正之,同时按照给出的运行示例检查修改后的程序。1. #include <stdio.h>2. #include <math.h>3. int main()4. 5. int n, i;6. printf("Input n:n");7. scanf("%d", &n)

12、;8. for (i=2; i<=sqrt(n); i+)9. 10. if (n % i = 0)11. 12. printf("No!n");13. 14. 15. printf("Yes!n");16. return 0;17. 程序的运行结果示例1:Input n:-3No!程序的运行结果示例2:Input n:0No!程序的运行结果示例3:Input n:1No!程序的运行结果示例4:Input n:6No!程序的运行结果示例5:Input n:7Y

13、es!输入格式: "%d"输出格式:输入提示信息: "Input n:n"是素数: "Yes!n"不是素数: "No!n"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC7程序改错-3(4分)题目内容:从键盘任意输入两个符号各异的整数,直到输入的两个整数满足要求为止,然后打印这两个数。请通过测试找出下面这个程序存在的问题(不止一个问题哦),并改正。同时用下面给出的运行结果示例检查修改后的程序。1. #inclu

14、de <stdio.h>2. int main()3. 4. int x1, x2;5. do6. printf("Input x1, x2:");7. scanf("%d,%d", &x1, &x2);8. while (x1 * x2 > 0);9. printf("x1=%d,x2=%dn", x1, x2);10. return 0;1

15、1. 程序正确的运行结果示例:Input x1, x2:a,sInput x1, x2:a,1Input x1, x2:2,sInput x1, x2:1,2Input x1, x2:-1,-2Input x1, x2:0,3Input x1, x2:1.2,3.4Input x1, x2:1.2,5Input x1, x2:-1,3x1=-1,x2=3输入格式: "%d,%d"输出格式:输入提示信息:"Input x1, x2:n"输出: "x1=%d,x2=%dn"为避免出现格式错误,请直接拷贝粘贴题目中给的格

16、式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC提交答案本次得分/总分:4.00/4.00分8猴子吃桃程序_扩展1(4分)题目内容:猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。此后每天都是吃掉前一天剩下的一半零一个。到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?为了加强交互性,由用户输入不同的天数n进行递推,即假设第n天的桃子数为1。程序的运行结果示例1:Input days:5x=46程序的运行结果示例2:Input days:10x=1534输入格式: "%d

17、"输出格式:输入提示信息:"Input days:n"输出:"x=%dn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC猴子第一天摘了若干个桃子,吃了一半,不过瘾,又多吃了1个。第二天早上将剩余的桃子又吃掉一半,并且又多吃了1个。此后每天都是吃掉前一天剩下的一半零一个。到第n天再想吃时,发现只剩下1个桃子,问第一天它摘了多少桃子?为了加强交互性,由用户输入不同的天数n进行递推,即假设第n天的桃子数为1。同时还要增加对用户输入数据的合法性验证(如:不允许输入的天数是0和

18、负数)程序运行结果示例:Input days:0Input days:-5Input days:aInput days:3x=10输入格式: "%d"输出格式:输入提示信息:"Input days:n"输出:"x=%dn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC题目内容:从键盘输入6位仅由数字09组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否

19、则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。程序的运行结果示例:Input your password:11, you have enter 1-bits number66, you have enter 2-bits numberaerrorderror44, you have enter 3-bits number66, you have enter 4-bits number88, you have enter 5-bits number22, you have enter 6-bits number输入提示信息:&quo

20、t;Input your password:n"输入格式: "%c"输出格式:如果输入的是数字,输出格式为:"%c, you have enter %d-bits numbern"如果输入的不是数字,输出提示信息:"errorn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC题目内容:从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。例如,从键盘输入整数16644,该整数共有5位。程序运行结果示例1:Please enter

21、 the number:2112521125: 5 bits程序运行结果示例2:Please enter the number:-12234-12234: 5 bits输入提示信息:"Please enter the number:n"输入格式: "%d"输出格式:"%d: %d bitsn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。本次得分/总分:4.00/4.00分12检测输入数据中奇数和偶数的个数(4分)题目内容:从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)

22、。编写程序判断输入数据中奇数和偶数的个数。如果用户输入的第一个数据就是-1,则程序输出"over!"。否则。用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。程序运行结果示例1:Please enter the number:11:odd55:odd88:even99:odd1212:even1717:odd-1The total number of odd is 4The total number of even is 2程序运行结果示例2:Please enter the number:-1over!The to

23、tal number of odd is 0The total number of even is 0输入提示信息:"Please enter the number:n"输入格式: "%d"输出格式:用户输入的第一个数据就是-1,输出格式:"over!n"奇数的输出格式:"%d:oddn"偶数的输出格式:"%d:evenn"输入数据中奇数的个数统计:"The total number of odd is %dn"输入数据中偶数的个数统计:"The tota

24、l number of even is %dn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。时间限制:500ms内存限制:32000kbC用例1通过1ms256kb2用例2通过18ms256kb2提交答案本次得分/总分:4.00/4.00分13计算球的反弹高度(4分)题目内容:一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下并反弹.,求它在第5次和第10次落地时,分别共经过了多少米?第5次和第10次反弹分别是多高?要求计算结果保留到小数点后3位。用户从键盘输入想要计算的第n次(n<=15)。程序中所有浮点数的数据类型均为flo

25、at。程序运行结果示例1:Input:55 times:287.5003.125程序运行结果示例2:Input:1010 times:299.6090.098输入提示信息:"Input:n"输入格式: "%d"输出格式:反弹次数:"%d times:n"第n次反弹共经过多少米:"%.3fn"第n次的反弹高度:"%.3fn"为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。1#include<stdio.h>#include<math.h&g

26、t;int main()    int a,b,c,temp1,temp2,i,k;    int d0=0,d1=0,d2=0,d3=0,d4=0,d5=0,d6=0,d7=0,d8=0,d9=0;    int counter=1;    printf("Please enter the number:n");   

27、; scanf("%d",&a);    c=a;    b=a/10;    while(b!=0)            counter+;        a=b;      &

28、#160; b=a/10;        printf("%d: %d bitsn",c,counter);    temp2=counter;    for(i=1;i<=counter;i+)            temp2-;  

29、60;     k=(int)pow(10,temp2);        temp1=fabs(c/k);        switch(temp1)                    c

30、ase 0:d0+;break;            case 1:d1+;break;            case 2:d2+;break;            case 3:d3+;bre

31、ak;            case 4:d4+;break;            case 5:d5+;break;            case 6:d6+;break;  

32、60;         case 7:d7+;break;            case 8:d8+;break;            case 9:d9+;break;     

33、60;      default: printf("error");            break;                c=fabs(c)-temp1*(int)pow(10,temp2);  

34、      if(d0!=0) printf("0: %dn",d0);    if(d1!=0) printf("1: %dn",d1);    if(d2!=0) printf("2: %dn",d2);    if(d3!=0) printf("3: %dn&qu

35、ot;,d3);    if(d4!=0) printf("4: %dn",d4);    if(d5!=0) printf("5: %dn",d5);    if(d6!=0) printf("6: %dn",d6);    if(d7!=0) printf("7: %dn",

36、d7);    if(d8!=0) printf("8: %dn",d8);    if(d9!=0) printf("9: %dn",d9);    return 0;2#include<stdio.h>main()    long bonus,a;    scanf("%l

37、d",&a);    if(a<=100000)        bonus=a*0.1;    if(a>100000&&a<=200000)    bonus=100000*0.1+(a-100000)*0.075;    if(a>200000&&a<=400000)

38、0;       bonus=100000*0.1+100000*0.075+(a-200000)*0.05;    if(a>400000&&a<=600000)        bonus=100000*0.1+100000*0.075+200000*0.05+(a-400000)*0.03;    if(a>600000&

39、&a<=1000000)        bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+(a-600000)*0.015;    if(a>1000000)        bonus=100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015+(a-1000

40、000)*0.01;    printf("bonus=%ldn",bonus);3#include  <stdio.h>  int main()        int i, n, sum=0;      scanf("%d",&n);   

41、0;  for(i=1;i<=n;i+)                sum=sum+i;            printf("sum = %d",sum);  4#include<stdio.h> 

42、0;int main()        int sum = 0, m;      printf("Input m:n");      scanf("%d", &m);      while(m!=0)  

43、;              sum = sum + m;          printf("sum = %dn", sum);          printf(&quo

44、t;Input m:n");          scanf("%d", &m);            return 0;  5#include<stdio.h>  int main()     &#

45、160; int x, y, z;     for (x=0; x<=20; x+)              for (y=0; y<=33; y+)            &

46、#160;         z = 100 - x - y;             if(5*x + 3*y + (float)z/3 = 100)         &

47、#160;                    printf("x=%d, y=%d, z=%dn", x, y, z);                 &

48、#160;              return 0;  6#include<stdio.h>#include<math.h>  int main()       int i, n;     int flag=0; 

49、;    printf("Input n:n");     scanf("%d",&n);     if(n>0&&n!=1)              for (i=2; i<=sqrt(n); i+)

50、                      if (n%i=0)                         

51、60;    flag=1;                 break;                          &#

52、160;    if(flag=0) printf("Yes!n");         else printf("No!n");          else printf("No!n");     return 0;&#

53、160; 7#include<stdio.h>int main()    int x1,x2, b;    do            printf("Input x1, x2:n");        b=scanf("

54、;%d,%d",&x1,&x2);        if(x1*x2)<0 && x1=(int)x1 && x2=(int)x2 && b=2)            break;      

55、0; else            while(getchar()!='n');            continue;    while(1);    printf("x1=%d,x2=%dn",x1,x2);8#include

56、<stdio.h>int main()    int x=1,d;    printf("Input days:n");    scanf("%d",&d);    while(d>1)            x=(x+1)

57、*2;        d-;        printf("x=%dn",x);9#include<stdio.h>int main()    int x=1, d, n, i;    for(i=1;i+;)     

58、0;      printf("Input days:n");        n=scanf("%d",&d);        if(n!=1 | d<=0)           

59、60;    while(getchar()!='n');        continue;                if(d>0)             &#

60、160;      while(d>1)                            x=(x+1)*2;           

61、60;    d-;                        printf("x=%d",x);            break;   

62、60;        10#include<stdio.h>int main()    char n;    int count=0;    int flag=1;    printf("Input your password:n");  

63、0; do            scanf("%c",&n);        if(n>='0'&& n<='9')              

64、60;  flag=1;        count+;        printf("%c, you have enter %d-bits numbern",n,count);              

65、60; else                printf("errorn");        flag=0;                getchar();

66、60;   while(count<6 | flag=0);   return 0;11.#include<stdio.h> int main()      int a,b,c;     int counter=1;     printf("Please enter

67、60;the number:n");     scanf("%d",&a);     c=a;     b=a/10;    while(b!=0)            counter+;    &#

68、160;   a=b;        b=a/10;        printf("%d: %d bitsn",c,counter); 12.#include<stdio.h> int main()      int a, count=0,

69、0;counter=0;     printf("Please enter the number:n");     scanf("%d",&a);     if(a=-1)        printf("over!n");     else              do                    if(a%2=0) 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论