哈工大C语言实验题_第1页
哈工大C语言实验题_第2页
哈工大C语言实验题_第3页
哈工大C语言实验题_第4页
哈工大C语言实验题_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

1、窗体顶端Q308.(10分)第5章 实验2:体型判断。医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当 t<18 时,为低体重; 当 18t<25 时,为正常体重; 当 25t<27 时,为超重体重; 当 t27 时,为肥胖。*输入提示信息格式:"Please enter h,w:n"*输入数据格式要求:"%f,%f"(先读

2、入身高,再读入体重,身高以米读入,体重以千克读入)*输出数据格式要求: 当 t<18 时,输出:"Lower weight!n" 当 18t<25 时,输出:"Standard weight!n" 当 25t<27 时,输出:"Higher weight!n" 当 t27 时, 输出:"Too fat!n"窗体底端#include <stdio.h> #include <stdlib.h>   main()     

3、;float t,w,h;       printf("Please enter h,w:n");       scanf("%f,%f",&h,&w);       t = w/(h*h);       if(t<18)       &

4、#160; printf("Lower weight!n");       else if(t>=18&&t<25)         printf("Standard weight!n");       else if(t>=25&&t<27)     

5、    printf("Higher weight!n");       else        printf("Too fat!n");       return 0; 窗体顶端窗体顶端Q586.(窗体底端10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?(闰年的

6、条件是年份能被4整除但不能被100整除,或者能被400整除;规定35月为春季,68月为夏季,911月为秋季,1、2和12月为冬季)。*输入格式要求:"%d,%d" 提示信息:"Please enter year,month:"*输出格式要求:"%d is leap yearn" "%d is not leap yearn" "The season is spring/summer/autumn/winter" "The number of days of this month is %

7、dn"程序运行示例如下:实例1:Please enter year,month:2012,112012 is leap yearThe season is autumnThe number of days of this month is 30实例2:Please enter year,month:2013,122013 is not leap yearThe season is winterThe number of days of this month is 31窗体底端#include <stdio.h> #include <stdlib.h> 

8、0; main()     int year=0,leap=0,mon=0,day=0;       printf("Please enter year,month:");     scanf("%d,%d",&year,&mon);       if(year%100!=0&&year%4=0)|(year%100

9、=0&&year%400=0)         printf("%d is leap yearn",year);         leap=1;          else        printf("%d is not leap

10、yearn",year);       switch(mon)              case  1:         case  2:         case 12:printf("The season is w

11、intern");                 break;         case  3:         case  4:         case 

12、 5:printf("The season is springn");                 break;         case  6:         case  7:     

13、60;   case  8:printf("The season is summern");                 break;         case  9:         case 10: &

14、#160;       case 11:printf("The season is autumnn");                 break;            switch(mon)      &

15、#160;       case  1:         case  3:         case  5:         case  7:         case&

16、#160; 8:         case 10:         case 12:day=31;                 break;         case  4:  

17、;       case  6:         case  9:         case 11:day=30;                 break;   &#

18、160;     case  2:             if(leap=1)                 day=29;            

19、; else                day=28;          printf("The number of days of this month is %dn",day); 窗体顶端Q3161.(10分)请用else if多分支条件判断语句编程设计一个简单的计算器程序。要求:(1)请用户按以下形式从键盘输入表达式:

20、操作数 运算符op 操作数(2)然后计算表达式的值*输入提示信息*:无*输入数据格式*:"%f%c%f"*输出数据格式*:"%.2f%c%.2f=%.2fn" 若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:"dat is 0!Error!n" 若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:"Error!n"友情提示: 用户输入的运算符为算术运算符:加(+)、减(-)、乘(*)、除(/)。用字符变量 op 表示; 操作数和操作数 为浮点型数据,分别用浮点型变量 dat1、

21、dat2表示。 程序运行结果如下所示:1+2 1.00+2.00=3.00#include <stdio.h> #include <stdlib.h>   main()     float a=0,b=0;     char op;       scanf("%f%c%f",&a,&op,&b);       

22、if(op='+')         printf("%.2f%c%.2f=%.2fn",a,op,b,a+b);     else if(op='-')         printf("%.2f%c%.2f=%.2fn",a,op,b,a-b);     else if(op='

23、;*')         printf("%.2f%c%.2f=%.2fn",a,op,b,a*b);     else if(op='/')         if(b!=0)             printf("%.2f

24、%c%.2f=%.2fn",a,op,b,a/b);         else            printf("dat is 0!Error!n");          else        print

25、f("Error!n"); 窗体底端窗体顶端Q3185.(10分)实验二(2016春刘秉权C语言课):根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。转换规则为(要求用switch语句实现):当score大于等于90且小于等于100时,grade=A;当score大于等于80且小于90时,grade=B;当score大于等于70且小于80时,grade=C;当score大于等于60且小于70时,grade=D;当score大于等于0且小于60时,grade=E。格式要求:输入提示:"Please enter score:"输出形式

26、形如:"100-A"、"75-C"、"0-E"当输入分数不正确时,输出:"Input error!"#include<stdio.h>    main()     int s,m;     printf("Please enter score:");     scanf("%d",&s);  

27、60;         m=s<0|s>100?-1:s/10;            switch(m)              case 10:         case 

28、 9:printf("%d-An",s);                 break;         case  8:printf("%d-Bn",s);             

29、60;   break;         case  7:printf("%d-Cn",s);                 break;         case  6:printf("%d-Dn

30、",s);                 break;         case  5:         case  4:         case  3:

31、        case  2:         case  1:         case  0:printf("%d-En",s);               &#

32、160; break;         default:printf("Input error!");      窗体底端窗体顶端Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。要求考虑闰年以及输入月份不在合法范围内的情况。已知闰年的2月有29天,平年的2月有28天。*输入格式要求:"%d, %d" 提示信息:"Input year,month:"*输

33、出格式要求:"31 daysn" "29 daysn" "28 daysn" "Input error!n"程序运行示例如下:Input year,month:2004,229 days#include<stdio.h>   main()     int a, b;     printf("Input year,month:");     sca

34、nf("%4d, %2d", &a, &b);     switch (b)          case  1:     case  3:     case  5:     case  7:     case  8:  &#

35、160;  case 10:     case 12:         printf("31 daysn");         break;     case  4:     case  6:     case 

36、; 9:     case 11:         printf("30 daysn");         break;     case  2:         if (a % 4 = 0 && a % 100 != 0) | a

37、% 400 = 0)             printf("29 daysn");         else            printf("28 daysn");      

38、60;  break;       default:         printf("Input error!n");          return 0; 窗体底端窗体顶端Q210.(10分)第7章实验任务1:所谓素数是指这个数只能被1和自身整除。要求在主函数输入一个数,调用函数Fun()判断该数是否是素数。打印信息在主函数中进行。例如

39、:从键盘输入5,5是素数则打印如下信息:"5 is a prime number".又如:从键盘输入4, 4不是素数则打印如下信息:"4 is not a prime number"负数、0和1均不是素数。对输入的数据要考虑数据的合法性,不满足条件的数要重新输入直到满足条件为止。不能使用全局变量,不按给定的函数原型编写程序不给分。Fun()函数原型如下: int Fun(int m);*输入数据提示信息:"Please input a number:n"注:该提示信息请放在循环体外*输入数据格式为:"%d"*输出格

40、式要求: 若是素数输出数据格式为:"%d is a prime numbern" 若不是素数输出数据格式为: "%d is not a prime numbern"#include <stdio.h> #include <stdlib.h>   int Fun(int m);   main()     int a;     printf("Please input a number:n");

41、    while (scanf("%d",&a)              if (a <= 0 | a = 1)             continue;         else if (a >

42、; 0 && a != 1 && Fun(a) = 1)             printf("%d is a prime numbern",a);         else            printf("%

43、d is not a prime numbern", a);         break;          return 0;   int Fun(int m)     int i, result;     result = 1;     if (m != 2)   

44、           for (i = 2; i < m; i+)                      if (m % i = 0)              

45、0;               result = 0;                 break;                 &#

46、160;              return result; 窗体底端窗体顶端Q3185.(10分)实验二(2016春刘秉权C语言课):根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。转换规则为(要求用switch语句实现):当score大于等于90且小于等于100时,grade=A;当score大于等于80且小于90时,grade=B;当score大于等于70且小于80时,grade=C;当score大于等于60且小于70时,grade=D;当s

47、core大于等于0且小于60时,grade=E。格式要求:输入提示:"Please enter score:"输出形式形如:"100-A"、"75-C"、"0-E"当输入分数不正确时,输出:"Input error!"#include<stdio.h>    main()     int s,m;     printf("Please enter score:&qu

48、ot;);     scanf("%d",&s);            m=s<0|s>100?-1:s/10;            switch(m)             

49、0;case 10:         case  9:printf("%d-An",s);                 break;         case  8:printf("%d-Bn",s);  

50、               break;         case  7:printf("%d-Cn",s);                 break;  

51、0;      case  6:printf("%d-Dn",s);                 break;         case  5:         case

52、60; 4:         case  3:         case  2:         case  1:         case  0:printf("%d-En",s);    

53、;             break;         default:printf("Input error!");      窗体底端窗体顶端Q1709.(10分)第6章实验1:国王的许诺相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格

54、的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人扛来一袋麦子,他要兑现他的许诺。请问:国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?注:(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。 (2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。 (3)输入输出格式要和以下给定格式完全一致。*输入格式:无*输出格式:"sum = %en"

55、"volum = %en"%e表示double类型#include<stdio.h> #include<math.h>   main()     int i;     double s, v;     s = 0;     for (i = 0; i <= 63; i+)         

56、s = s + pow(2, i);     v = s / 1.42e8;     printf("sum = %en", s);     printf("volum = %en", v);     return 0; 窗体底端窗体顶端Q1719.(10分)第7章实验任务3从键盘任意输入一个整数n,编程计算并输出1n之间的所有素数之和输入提示信息:"Input n:"输入格式

57、:"%d"输出格式:"sum = %dn"#include <stdio.h> #include <stdlib.h>   int Fun(int m);   main()     int n,i,s;     s=0;     printf("Input n:");     scanf("%d"

58、;,&n);     for(i=2;i<=n;i+)              if(Fun(i)=1)             s=s+i;          printf("sum = %dn",s)

59、;     return 0;   int Fun(int m)     int i, result;     result = 1;     if (m != 2)              for (i = 2; i < m; i+)     

60、60;                if (m % i = 0)                              result = 0;  

61、0;              break;                                return result; 窗体底端窗体顶端Q1720.(10分)第7

62、章实验任务6从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出"It is a prime number"。例如,用户输入90时,程序输出90 = 2 * 3 * 3 * 5;用户输入17时,程序输出"It is a prime number"。输入提示信息:"Input m:"输入格式:"%d"输出格式:是素数时输出"It is a prime numbern"否则输出用"%d = ","%d

63、* "运行示例1:Input m:9090 = 2 * 3 * 3 * 5运行示例2:Input m:13It is a prime number#include<stdio.h>   int Fun(int m); int IsPerfect(int m);   main()     int m,i,p;     printf("Input m:");     scanf("%d&q

64、uot;,&m);     p=m;     if(Fun(m)=1)         printf("It is a prime numbern");     else             printf("%d = ",m);

65、         for(i=2;i<m;i+)                      if(p%IsPerfect(i)=0&&p/IsPerfect(i)!=1&&IsPerfect(i)!=1)       &#

66、160;         printf("%d * ",i);             else if(p%IsPerfect(i)=0&&p/IsPerfect(i)=1&&IsPerfect(i)!=1)           

67、0;                  printf("%d",i);                 break;            

68、              else                continue;             p=p/i;      &#

69、160;      while(p%i=0)                              if(p/i!=1)            &

70、#160;                        printf("%d * ",i);                    p=p/i;  

71、                                else                  &

72、#160;                  printf("%d",i);                 break;           

73、60;                                 return 0;   int Fun(int m)     int i, result;     result = 1;  &

74、#160;  if (m != 2)              for (i = 2; i < m; i+)                      if (m % i = 0)       

75、                       result = 0;                 break;         

76、0;                      return result;   int IsPerfect(int m)     int i, result;     result=1;     if (m != 2)     

77、         for (i = 2; i <= m; i+)                      if (m % i = 0)               

78、0; break;             else if(m%i!=1&&m/i!=1)                 continue;             els

79、e                result=m;                   else        result=2;     return re

80、sult; 窗体底端窗体顶端Q198.(10分)第7章实验任务5如果一个正整数m的所有小于m的不同因子(包括1)加起来正好等于m本身,那么就被称它为完全数。它是指这样的一些特殊的自然数,它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。注意:1没有真因子,所以不是完全数。例如,6就是一个完全数,是因为6 = 1 + 2 + 3。请编写一个判断完全数的函数IsPerfect(),然后判断从键盘输入的整数是否是完全数。要求:按如下原型编写判断完全数的函数,若函数返回0,则代表不是完全数,若返回1,则代表是完全数。int IsPerfect(int x);*要求输入提示信息为: "

81、;Input m:n"*要求输入格式为: "%d"*要求输出格式为 "%d is a perfect numbern""%d is not a perfect numbern"注:不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程,主函数不能使用int main和return 0。#include<stdio.h>   int IsPerfect(int m);   main()     int a;  

82、0;  printf("Input m:n");     scanf("%d", &a);     if (IsPerfect(a) = 1)         printf("%d is a perfect numbern", a);     else     

83、   printf("%d is not a perfect numbern", a);   int IsPerfect(int m)     int i, s, find;     s = 0;     for (i = 1; i < m; i+)              if

84、(m % i = 0)             s = s + i;         else            continue;          if (s = m)   

85、;      find = 1;     else        find = 0;     return find; 窗体底端窗体顶端Q3168.(10分)编程从键盘输入一个小写英文字母,将其转换为大写英文字母,并将转换后的大写英文字母及其十进制的ASCII码值显示到屏幕上。*输入提示信息*:"Please input a low-case letter from

86、keyboard:"*输入数据格式*:"%c"*输出数据格式*:"The capital letter and its ASCII value are:%c and %d."提示:从键盘输入一个字符可用scanf也可用getchar#include<stdio.h>   main()     char a;     printf("Please input a low-case letter from keyboard:&q

87、uot;);     a = getchar();     a = a - 32;     printf("The capital letter and its ASCII value are:%c and %d.", a, a); 窗体底端窗体顶端Q3241.(10分)实验三(2016春刘秉权C语言课):已知公式e = 1 + 1/1! + 1/2! + 1/3! + . +1/n!, 编程计算e的近似值,直到最后一项的绝对值小于1e-7时为止,输入e的

88、值并统计累加的项数。要求:按顺序输出每一个e值,小数点后保留8位有效数字,输出格式形如:e = 2.66666667, count = 4(回车换行,count为累加的项数)#include<stdio.h>   double fun(int n);   main()     int i, c;     double e;     c = 0;     e = 0;  

89、60;  for (i = 0; i<=11; i+)              e = e + fun(i);         c+;         printf("e = %.8lf, count = %dn", e, c);    &#

90、160;   double fun(int n)     double result;     int i;     i = 1;     result = 1;     do             result = result * i;  &#

91、160;      i+;          while (i <= n);     result = 1.0 / result;     return result; 窗体底端窗体顶端Q1710.(10分)第7章实验任务4:任意输入一个整数m,若m不是素数,则输出其所有不包括1和自身的因子;否则输出“没有因子,是素数”的相关提示信息。输入提示信息:"Pleas

92、e enter a number:"输入格式:"%d"输出格式:有因子时:"%dn"无因子时:"It is a prime number.No divisor!n"输入为1,0,-1时:"It is not a prime number.No divisor!n"#include<stdio.h> #include<math.h>   int Fun(int m);   main()     int a

93、, i;     printf("Please enter a number:");     scanf("%d", &a);     if (Fun(fabs(a) = 1)         printf("It is a prime number.No divisor!n");     

94、else             for (i = 2; i < fabs(a); i+)                      if ( a % i = 0)          

95、       printf("%dn", i);                 int Fun(int m)     int i, result;     result = 1;     if (m != 2 && m != 1)

96、             for (i = 2; i < m; i+)                      if (m % i = 0)            

97、;                  result = 0;                 break;               &#

98、160;                else if (m = 1)         result = 0;     else;     return result; 窗体底端窗体顶端Q1718.(10分)第5章实验1:身高预测。每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计

99、分析表明,影响小孩成人后的身高的因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。设faHeight为其父身高,moHeight为其母身高,身高预测公式为男性成人时身高 = (faHeight + moHeight) × 0.54 cm女性成人时身高 = (faHeight × 0.923 + moHeight) / 2 cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生饮食习惯,那么可增加身高1.5%。请编程从键盘输入用户的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M表示男性)、父母身高(用实型变量存储,

100、faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示良好,输入字符N表示不好),利用给定公式和身高预测方法对身高进行预测。运行示例:Are you a boy(M) or a girl(F)?FPlease input your father's height(cm):182Please input your mother's height(cm):162Do you like sports(Y/N)?NDo yo

101、u have a good habit of diet(Y/N)?YYour future height will be 167(cm)#include<stdio.h>   main()     float fh, mh, h;     char sex, sports, diet;       printf("Are you a boy(M) or a girl(F)?");   

102、  sex = getchar();     getchar();     printf("Please input your father's height(cm):");     scanf("%f", &fh);     getchar();     printf("Please input your mo

103、ther's height(cm):");     scanf("%f", &mh);     getchar();     printf("Do you like sports(Y/N)?");     sports = getchar();     getchar();     print

104、f("Do you have a good habit of diet(Y/N)?");     diet = getchar();       if (sex = 'M')         h = (fh + mh) * 0.54;     else if (sex = 'F')    

105、0;    h = (fh * 0.923 + mh) / 2;     else             printf("Error!n");         goto R;            

106、if (sports = 'Y')         h = h * 1.02;     else if (sports = 'N');     else             printf("Error!n");         goto R;  

温馨提示

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

评论

0/150

提交评论