哈工大C語言實驗題(共53頁)_第1頁
哈工大C語言實驗題(共53頁)_第2頁
哈工大C語言實驗題(共53頁)_第3頁
哈工大C語言實驗題(共53頁)_第4頁
哈工大C語言實驗題(共53頁)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上窗體頂端Q308.(10分)第5章 實驗2:體型判斷。醫(yī)務(wù)工作者經(jīng)廣泛的調(diào)查和統(tǒng)計分析,根據(jù)身高與體重因素給出了以下按“體指數(shù)”進行體型判斷的方法。體指數(shù)計算公式是: t = w /(h*h) 其中:t是體指數(shù);w是體重,其單位為千克;h是身高,其單位為米。根據(jù)給定的體指數(shù)t計算公式,可判斷你的體重屬于何種類型: 當 t<18 時,為低體重; 當 18t<25 時,為正常體重; 當 25t<27 時,為超重體重; 當 t27 時,為肥胖。*輸入提示信息格式:"Please enter h,w:n"*輸入數(shù)據(jù)格式要求:"%

2、f,%f"(先讀入身高,再讀入體重,身高以米讀入,體重以千克讀入)*輸出數(shù)據(jù)格式要求: 當 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、0;  float t,w,h;       printf("Please enter h,w:n");       scanf("%f,%f",&h,&w);       t = w/(h*h);       if(t<18)     

4、    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分)編寫一個程序,輸入年份和月份,判斷該年是否是閏年,并根據(jù)給出的月份判斷是什么季

6、節(jié)和該月有多少天?(閏年的條件是年份能被4整除但不能被100整除,或者能被400整除;規(guī)定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 th

7、is month is %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 <stdl

8、ib.h>   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

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

10、 is not leap yearn",year);       switch(mon)              case  1:         case  2:         case 12:printf("Th

11、e season is wintern");                 break;         case  3:         case  4:        

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

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

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

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

16、0; case  8:         case 10:         case 12:day=31;                 break;         case&#

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

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

19、0;   else                day=28;          printf("The number of days of this month is %dn",day); 窗體頂端Q3161.(10分)請用else if多分支條件判斷語句編程設(shè)計一個簡單的計算器程序。要求:(1)請用戶按

20、以下形式從鍵盤輸入表達式:操作數(shù) 運算符op 操作數(shù)(2)然后計算表達式的值*輸入提示信息*:無*輸入數(shù)據(jù)格式*:"%f%c%f"*輸出數(shù)據(jù)格式*:"%.2f%c%.2f=%.2fn" 若若輸入的運算符是除法運算符/,當除數(shù)為0時,輸出數(shù)據(jù)格式為:"dat is 0!Error!n" 若輸入的運算符不是加(+)、減(-)、乘(*)、除(/),則輸出數(shù)據(jù)格式為:"Error!n"友情提示: 用戶輸入的運算符為算術(shù)運算符:加(+)、減(-)、乘(*)、除(/)。用字符變量 op 表示; 操作數(shù)和操作數(shù) 為浮點型數(shù)據(jù),分

21、別用浮點型變量 dat1、dat2表示。 程序運行結(jié)果如下所示: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);     el

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

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

25、0; printf("Error!n"); 窗體底端窗體頂端Q3185.(10分)實驗二(2016春劉秉權(quán)C語言課):根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。轉(zhuǎn)換規(guī)則為(要求用switch語句實現(xiàn)):當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 sco

26、re:"輸出形式形如:"100-A"、"75-C"、"0-E"當輸入分數(shù)不正確時,輸出:"Input error!"#include<stdio.h>    main()     int s,m;     printf("Please enter score:");     scanf("%d",&

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

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

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

30、f("%d-Dn",s);                 break;         case  5:         case  4:         c

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

32、#160;   break;         default:printf("Input error!");      窗體底端窗體頂端Q221.(10分)編程從鍵盤輸入某年某月(包括閏年),用switch語句編程輸出該年的該月?lián)碛械奶鞌?shù)。要求考慮閏年以及輸入月份不在合法范圍內(nèi)的情況。已知閏年的2月有29天,平年的2月有28天。*輸入格式要求:"%d, %d" 提示信息:"Input year,m

33、onth:"*輸出格式要求:"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:");   &#

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

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

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

37、00 != 0) | a % 400 = 0)             printf("29 daysn");         else            printf("28 daysn");    &#

38、160;    break;       default:         printf("Input error!n");          return 0; 窗體底端窗體頂端Q210.(10分)第7章實驗任務(wù)1:所謂素數(shù)是指這個數(shù)只能被1和自身整除。要求在主函數(shù)輸入一個數(shù),調(diào)用函數(shù)Fun()判斷該數(shù)是否是素數(shù)。打

39、印信息在主函數(shù)中進行。例如:從鍵盤輸入5,5是素數(shù)則打印如下信息:"5 is a prime number".又如:從鍵盤輸入4, 4不是素數(shù)則打印如下信息:"4 is not a prime number"負數(shù)、0和1均不是素數(shù)。對輸入的數(shù)據(jù)要考慮數(shù)據(jù)的合法性,不滿足條件的數(shù)要重新輸入直到滿足條件為止。不能使用全局變量,不按給定的函數(shù)原型編寫程序不給分。Fun()函數(shù)原型如下: int Fun(int m);*輸入數(shù)據(jù)提示信息:"Please input a number:n"注:該提示信息請放在循環(huán)體外*輸入數(shù)據(jù)格式為:"

40、;%d"*輸出格式要求: 若是素數(shù)輸出數(shù)據(jù)格式為:"%d is a prime numbern" 若不是素數(shù)輸出數(shù)據(jù)格式為: "%d is not a prime numbern"#include <stdio.h> #include <stdlib.h>   int Fun(int m);   main()     int a;     printf("Please input a numb

41、er:n");     while (scanf("%d",&a)              if (a <= 0 | a = 1)             continue;         e

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

43、rintf("%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春劉秉權(quán)C語言課):根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。轉(zhuǎn)換規(guī)則為(要求用switch語句實現(xiàn)):當score大于等于90且小于等于100時,grade=A;當score大于等于80且小于90時,grade=B;當score大于等于70且小于80時,grade=C;當score大于等于60且小于7

47、0時,grade=D;當score大于等于0且小于60時,grade=E。格式要求:輸入提示:"Please enter score:"輸出形式形如:"100-A"、"75-C"、"0-E"當輸入分數(shù)不正確時,輸出:"Input error!"#include<stdio.h>    main()     int s,m;     printf("Please en

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

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

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

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

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

53、0;               break;         default:printf("Input error!");      窗體底端窗體頂端Q1709.(10分)第6章實驗1:國王的許諾相傳國際象棋是古印度舍罕王的宰相達依爾發(fā)明的。舍罕王十分喜歡象棋,決定讓宰相自己選擇何種賞賜。這位聰明的宰相指

54、著8×8共64格的象棋盤說:陛下,請您賞給我一些麥子吧,就在棋盤的第1個格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盤上的64個格子,我就感恩不盡了。舍罕王讓人扛來一袋麥子,他要兌現(xiàn)他的許諾。請問:國王能兌現(xiàn)他的許諾嗎?試編程計算舍罕王共要多少麥子賞賜他的宰相,這些麥子合多少立方米(已知1立方米麥子約1.42e8粒)?注:(1)不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進行編程。 (2)用標準C語言編程,所有變量必須在第一條可執(zhí)行語句前定義。 (3)輸入輸出格式要和以下給定格式完全一致。*輸入格式:無*輸出格式:"sum

55、 = %en" "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章實驗任務(wù)3從鍵盤任意輸入一個整數(shù)n,編程計算并輸出1n之間的所有素數(shù)之和輸入提示信息:"Input

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

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

59、 %dn",s);     return 0;   int Fun(int m)     int i, result;     result = 1;     if (m != 2)              for (i = 2; i < m; i+)   &#

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

61、0;                 break;                                return result; 窗體底端窗體頂端

62、Q1720.(10分)第7章實驗任務(wù)6從鍵盤任意輸入一個整數(shù)m,若m不是素數(shù),則對m進行質(zhì)因數(shù)分解,并將m表示為質(zhì)因數(shù)從小到大順序排列的乘積形式輸出,否則輸出"It is a prime number"。例如,用戶輸入90時,程序輸出90 = 2 * 3 * 3 * 5;用戶輸入17時,程序輸出"It is a prime number"。輸入提示信息:"Input m:"輸入格式:"%d"輸出格式:是素數(shù)時輸出"It is a prime numbern"否則輸出用"%d = &qu

63、ot;,"%d * "運行示例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:");     sca

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

65、 = ",m);         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、60;                    printf("%d",i);                 break;          

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

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

70、                           printf("%d * ",i);                    

71、p=p/i;                                  else                

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

73、160;                                   return 0;   int Fun(int m)     int i, result;     result

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

75、;                         result = 0;                 break;       

76、60;                        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、60;   break;             else if(m%i!=1&&m/i!=1)                 continue;           &#

79、160; else                result=m;                   else        result=2;    &#

80、160;return result; 窗體底端窗體頂端Q198.(10分)第7章實驗任務(wù)5如果一個正整數(shù)m的所有小于m的不同因子(包括1)加起來正好等于m本身,那么就被稱它為完全數(shù)。它是指這樣的一些特殊的自然數(shù),它所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本身。注意:1沒有真因子,所以不是完全數(shù)。例如,6就是一個完全數(shù),是因為6 = 1 + 2 + 3。請編寫一個判斷完全數(shù)的函數(shù)IsPerfect(),然后判斷從鍵盤輸入的整數(shù)是否是完全數(shù)。要求:按如下原型編寫判斷完全數(shù)的函數(shù),若函數(shù)返回0,則代表不是完全數(shù),若返回1,則代表是完全數(shù)。int IsPerfect(int x);*要求輸

81、入提示信息為: "Input m:n"*要求輸入格式為: "%d"*要求輸出格式為 "%d is a perfect numbern""%d is not a perfect numbern"注:不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進行編程,主函數(shù)不能使用int main和return 0。#include<stdio.h>   int IsPerfect(int m);   main()     int

82、a;     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+)            &#

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

85、)         find = 1;     else        find = 0;     return find; 窗體底端窗體頂端Q3168.(10分)編程從鍵盤輸入一個小寫英文字母,將其轉(zhuǎn)換為大寫英文字母,并將轉(zhuǎn)換后的大寫英文字母及其十進制的ASCII碼值顯示到屏幕上。*輸入提示信息*:"Please input a low-case

86、 letter from keyboard:"*輸入數(shù)據(jù)格式*:"%c"*輸出數(shù)據(jù)格式*:"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 fro

87、m keyboard:");     a = getchar();     a = a - 32;     printf("The capital letter and its ASCII value are:%c and %d.", a, a); 窗體底端窗體頂端Q3241.(10分)實驗三(2016春劉秉權(quán)C語言課):已知公式e = 1 + 1/1! + 1/2! + 1/3! + . +1/n!, 編程計算e的近似值,直到最后一項的絕對值小

88、于1e-7時為止,輸入e的值并統(tǒng)計累加的項數(shù)。要求:按順序輸出每一個e值,小數(shù)點后保留8位有效數(shù)字,輸出格式形如:e = 2., count = 4(回車換行,count為累加的項數(shù))#include<stdio.h>   double fun(int n);   main()     int i, c;     double e;     c = 0;     e = 0; 

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

90、60;    double fun(int n)     double result;     int i;     i = 1;     result = 1;     do             result = result * i; 

91、60;       i+;          while (i <= n);     result = 1.0 / result;     return result; 窗體底端窗體頂端Q1710.(10分)第7章實驗任務(wù)4:任意輸入一個整數(shù)m,若m不是素數(shù),則輸出其所有不包括1和自身的因子;否則輸出“沒有因子,是素數(shù)”的相關(guān)提示信息。輸入提示信息:"

92、Please 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()     

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

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

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

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

97、                   result = 0;                 break;              

98、60;                 else if (m = 1)         result = 0;     else;     return result; 窗體底端窗體頂端Q1718.(10分)第5章實驗1:身高預(yù)測。每個做父母的都關(guān)心自己孩子成人后的身高,據(jù)有關(guān)生理衛(wèi)生知識

99、與數(shù)理統(tǒng)計分析表明,影響小孩成人后的身高的因素包括遺傳、飲食習(xí)慣與體育鍛煉等。小孩成人后的身高與其父母的身高和自身的性別密切相關(guān)。設(shè)faHeight為其父身高,moHeight為其母身高,身高預(yù)測公式為男性成人時身高 = (faHeight + moHeight) × 0.54 cm女性成人時身高 = (faHeight × 0.923 + moHeight) / 2 cm此外,如果喜愛體育鍛煉,那么可增加身高2%;如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高1.5%。請編程從鍵盤輸入用戶的性別(用字符型變量sex存儲,輸入字符F表示女性,輸入字符M表示男性)、父母身高(用實型

100、變量存儲,faHeight為其父身高,moHeight為其母身高)、是否喜愛體育鍛煉(用字符型變量sports存儲,輸入字符Y表示喜愛,輸入字符N表示不喜愛)、是否有良好的飲食習(xí)慣等條件(用字符型變量diet存儲,輸入字符Y表示良好,輸入字符N表示不好),利用給定公式和身高預(yù)測方法對身高進行預(yù)測。運行示例: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)?N

101、Do you 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、#160;  sex = getchar();     getchar();     printf("Please input your father's height(cm):");     scanf("%f", &fh);     getchar();     printf("Please input yo

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

104、printf("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、;     h = (fh * 0.923 + mh) / 2;     else             printf("Error!n");         goto R;           &

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論