




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、程序設計基礎習題參考答案與部分解析第1章C語言概述一、填空a) C源程序的基本單位是函數(shù)。b) 一個C程序中至少應包括一個main函數(shù)。c)在C語言中,輸出操作是有庫函數(shù)printf()函數(shù)完成。二、單選題1、A2、C3、B解析:第1題答案:Ao因為一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在程序中的位置。且到main函數(shù)結束。第2題答案:C。因為main函數(shù)沒有限制必須位于程序的最前面。C程序書寫自由,一行內可寫幾個語句。在對一個C程序進行編譯的過程中,無法檢查注釋當中的拼寫錯誤。不過C語言本身弁沒有輸入輸出語句,輸入輸出是由函數(shù)完成的。第3題答案:Bo因為一個C語言程序是由
2、若干個函數(shù)組成的。但至少包含一個main函數(shù),且main函數(shù)的位置不限。三、編程題1、編寫一個輸出“WelcometoC!”信息的小程序。解:程序如下#includemain()printf(“WelcometoC!”);2、 已知三角形的三邊長分別為3,4,5,試用海輪公式編程求其面積。海倫公式為:Sa=,其中s=(a+b+s)/2;解:程序如下#include#includemain()inta,b,c/*a,b,c3個整型變量表示三角形的3條邊。*/floats,s1;/*s1作為面積變量,s作為中間變量是都應該是實形*/a=3;b=4;c=5;s=(a+b+c)/2.0;s1=sqrt
3、(s*(s-a)*(s-b)*(s-c);/*sqrt函數(shù)完成開平方根功能。*/printf(“area=%fn”,s1);第2章程序設計基礎知識一、單選題1、C2、A3、C4、A5、C6、C7、D8、C9、D10、A11、D12、A13、C14、C15、BA16、 B17D解析:1 .答案:Co這里考察的是用戶標識符的定義。用戶標識符由字母、數(shù)字、下劃線組成。且必須以字母或下劃線開頭,區(qū)分大小寫,且不能與C語言已有的32個關鍵字同名。由于選擇不合法的用戶標識符,A項的A、P_0、Do都是合法的用戶標識符;B項的_A是合法的;D項的_123、temp、INT也都是合法的。只有C選項的標識符都是
4、錯誤的用戶標識符。2 .答案:Ao這里考察的是整型常量的概念。B項當中01a不正確,C項當中的0668不是正確的八進制常量,D項當中的2e5是float型常量。3 .答案:Co這里考察的是字符常量的定義。字符常量是用單撇號括起來的單個字符或轉義字符。所以答案是C。4 .答案:Ao字符變量只能包含一個字符。5 .答案:Co這里考察的是轉義字符的正確表示。C項的'074'是錯誤的轉義字符,正確表示方法是074。6 .答案:Co字符變量只能包含一個字符,而C項的c='yes'是錯誤的。7 .答案:Do這里考察的是輸入格式的控制。輸入格式要與scanf語句中字符串格式相
5、對應。8 .答案:Co這里考察的是輸出格式和字符對應的ASCII碼值。'A'的ASCII碼值是65,'Y'字符的ASCII碼值是89。9 .答案:Do這里考察輸入格式和輸出結果形式。由于輸入格式不正確,所以輸出的是不確定值。10 .答案:Ao這里考察的是標識符的特點區(qū)分大小寫,變量sum和變量sUM是兩個不同的變量,sum并沒有參加運算,所以它的值不邊仍然是7。11 答案:D。%運算符要求兩邊的運算數(shù)必須是整型。12 .答案:A。這里考察的是復合賦值運算。a%=b+1;等價與a=a%(b+1);由于a=10,b=4;所以運算后a的值是0。13 .答案:Co這里考
6、察的是在變量定義類型是進行賦值操作。要求a,b,c都賦值為5,且為int類型。只有C正確。14 .答案:Co這里考察的是類型的自動轉換,只要有單精度類型或雙精度類型參加運算,結果都是double(雙精度)類型。15 .答案:B,Ao這里考察的是邏輯表達式的運算過程。表達式1&表達式2,若表達式1的值是0的話,結果就是0,表達式2就不參加運算。要注意:賦值表達式的值是左邊賦值變量的值。所以答案為B,A。16 .答案:Bo這里考察的是逗號表達式運算過程是從第1個表達式開始運算,然后依次運行到最后一個表達式。逗號表達式的值是最后表達式的值,且注意逗號運算符優(yōu)先級低于賦值運算符。所以表達式(a
7、=2,b=5,b+,a+b)運算過程a=2>b=5>b+>a+b=8;結果是8。17 .答案:D。這里考察的是條件表達式的結合性是從右向左。所以k<a?k:c<b?c:a;等價于k<a?k:(c<b?c:a);先運算c<b?c:a;的值是1,然后計算k<a?k:1;的值是1。、填空題三、編程題1、編寫程序,輸入一個長方形的二邊長,輸出其面積。解:程序如下1、-32768327674、30,157、-26410、113、02、字母5、8、11、14、,數(shù)字,下劃線3、分號(;)186、09、0y%2=1(x>2&&x&l
8、t;3)|x<-1012、 x<z|y<z15、1#includemain(inta,b,s;/*a,b作為長方形的兩個邊長,s為面積。*/printf(“請輸入兩個邊長n”);scanf(“%d%d”,&a,&b);printf(“Thearea:%dn“,s);2、設置半徑為r=2.9,編程求圓周長和圓面積解:程序如下#includemain()floatr,L,S;L=2*PI*r;S=PI*r*r;printf(“L=%f,S=%fn“,L,S);3、 輸入一個華氏溫度,輸出相應的攝氏溫度。二者的換算公式是:c=5/9(F-32),其中F表示華氏溫度,
9、c表示攝氏溫度。解:程序如下#include“”main()floatc,F;printf(“請輸入一個華氏溫度:n”);scanf(“%f”,&F);c=(float)5/9*(F-32);printf(“F=%f,c=%fn”,F,c);第3章程序設計初步一、單選題1 、C2、C3、B4、B5、B解析:1.答案:Co這里考察的是if-else語句和表達式中有增量和減量的執(zhí)行過程。if(m+>5)printf(“%dn”,m);elseprintf(“%dn”,m+);先執(zhí)行m>5的值是0,然后執(zhí)行m=m+1;得到m=6;由于m>5的值是0所以執(zhí)行else語句,應先
10、輸出m的值是6,然后m再自增一個單位變成7。2 .答案:Co這里考察的是if語句的嵌套。根據(jù)else子句總是與之前最近的if語句配對來進行選擇滿足條件的答案。3 .答案:Bo這里也考察的是if語句的嵌套。同理:if(x<y)if(y<0)z=0;elsez+=1;等價與if(x<y)if(y<0)z=0;elsez+=1;因此答案是B。4 .答案:Bo這里考察的是if語句的嵌套。根據(jù)else子句總是與之前最近的if語句配對。5 .答案:Bo由于B項:if(x=y)&&(x!=0)x+=y;if后的條件表達式?jīng)]有用圓括號括起來。正確的是:if(x=y)&a
11、mp;&(x!=0)x+=y;二、根據(jù)要求完成程序填空1、z>yz>xy>x2、ch>=A&&ch<=Zch=ch-323、x<0x/10y!=2三、編程題1、 編寫一個程序,要求用戶從終端鍵入兩個整數(shù)數(shù)值。檢測這兩個數(shù),判定第一個數(shù)是否能被第二數(shù)整除,并在終端上顯示相應的信息。解:程序如下#includemain()inta,b;/*a為第一個數(shù),b為第二個數(shù)*/printf(“Pleaseinputtwonumbers:n”);scanf(“%d%d”,&a,&b);if(a%b=0)printf(“%d能被%d整
12、除。n”,a,b);elseprintf(“%d不能被%d整除。n”,a,b);2、 有3個整數(shù)a,b,c,由鍵盤輸入,輸出其中最大的數(shù)。解:程序如下#include“”main()inta,b,c,max;printf(“Pleaseinputthreenumbers:n”);scanf(“%d%d%d”,&a,&b,&c);if(a>b)max=a;elsemax=b;if(max<c)max=c;printf(“Themaxis%dn”,max);3、給出一百分制成績,要求輸出成績等級A、B、C、D、E。其中90分以上為A,8089分為B,7079為C
13、,6069為D,60分以下為E。解:程序如下#include“”main()floatscore;intgrade;printf(“Pleaseinputascore:n”);scanf(“%f“,&score);grade=(int)score/10;switch(grade)case10:case9:printf(“n”);break;case8:printf(“n”);break;case7:printf(“n”);break;case6:printf(“n”);break;default:printf(“gradeisEn”);4、新世紀百貨進行打折促銷活動,消費金額(P)越高
14、,折扣(d)越大,標準如下:折扣0消費金額P<100100<P<2005200&P<50010500<P<100015P>100020編程實現(xiàn)從鍵盤輸入消費金額,輸出折扣率和實付金額(f)。要求分別用if語句和switch語句實現(xiàn)。解:(1)用if語句編程實現(xiàn)如下#include“”main()floatP,d,f;printf(“輸入消費金額:n”);scanf(“%f”,&P);if(P<100)d=0;if(P>=100&&P<200)d=0.05;if(P>=200&&P&
15、lt;500)d=0.10;if(P>=500&&P<1000)d=0.15;if(P>=1000)d=0.20;,d,f);f=P*(1-d);printf("折扣是力則實付金額為%fn(2)用switch語句編程實現(xiàn)如下#include“”main()floatP,d,f;intc;printf(“輸入消費金額:n”);scanf(“%f”,&P);c=(int)P/100;switch(c)case0:d=0;break;case 1 :d=0.05;break;case 2 :case 3 :case 4 :d=0.10;break;
16、case 5 :case 6 :case 7 :case 8 :case 9 :d=0.15;break;default:d=0.20;f=P*(1-d);printf("折扣是力則實付金額為fn",d,f);第4章循環(huán)結構程序設計一、單項選擇1、A2、D3、C4、D5、B6、D7、B8、B二、按要求完成程序填空1、 c!=n'c>='0'&&c<='9'j%5=02、 i%3=2&&i%5=3&&i%7=23、 i<10j%3!=0三、編程題1、編程求n的階乘(n由鍵
17、盤輸入)。解:程序如下#include“”main()intn,i;longfac;fac=1;printf(“Inputanumber:”);scanf(“%d”,&n);i=1;while(i<=n)fac=fac*i;i+;printf(“%d!is%ldn”,n,fac);2、計算1!+2!+3!+-+10!的值。解:方法一#include“”main()inti=1,j;doublefac,sum=0;while(i<=10)j=1;fac=1;while(j<=i)fac=fac*j;j+;sum=sum+fac;i+;printf("1!+2!
18、+3!+-+10!=%.0fn",sum);方法二:#include“”main()inti,j;doublefac,sum=0;for(i=1;i<=10;i+)for(j=1,fac=1;j<=i;j+)fac=fac*j;sum=sum+fac;printf("1!+2!+3!+10!n”,sum);方法三:#include“”main()inti;doublefac,sum;sum=0;fac=1;for(i=1;i<10;i+)fac=fac*i;sum=sum+fac;printf("1!+2!+3!+10!n”,sum);3、求Sn
19、=a+aa+aaa+aaaa(n個a)的值,其中a是一個數(shù)字。例如:3+33+333+3333(此時n=4),n由鍵盤輸入。解:程序如下#include“”main()inta,n,i;longSn,t;Sn=0;printf(“Pleaseinputa:n”);scanf(“%d”,&a);printf(“Pleaseinputn:n”);scanf(“%d”,&n);t=a;for(i=1;i<=n;i+)Sn=Sn+t;t=t*10+a;printf(“Sn=%ldn”,Sn);4、打印出所有的“水花仙數(shù)”,所謂“水花仙數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本
20、身。例如,153是一個水花仙數(shù)。解:程序如下#include“”main()intt,a,b,c,n;/*變量n為統(tǒng)計水花仙數(shù)的個數(shù)*/n=0;for(t=100;t<1000;t+)a=t/100;b=(t-a*100)/10;c=t%10;if(a*a*a+b*b*b+c*c*c=t)n+;if(n%6=0)printf(“n”);printf(“%5d”,t);6、每個蘋果0.8元,第一天買2個蘋果,第二天開始,每天買前一個的2倍,直至購買的蘋果個數(shù)達到不超過100的最大值。編寫程序求每天平均花多少錢?解:程序如下#include“”main()intday,num,sum;flo
21、atmoney,every;sum=0;num=2;for(day=1;num<100;)sum=sum+num;day+;num=num*2;money=sum*0.8;every=money/day;printf(“every=%fn”,every);7、變成完成用一元人民幣換成一分、二分、五分的所有兌換方案,即輸出所有滿足搭配要求的1分幣個數(shù),2分幣個數(shù),5分幣個數(shù)。解:程序如下:#includemain()intone,two,five;for(one=0;one<=100;one+)for(two=0;two<=50;two+)for(five=0;five<
22、=20;five+)if(one+two*2+five*5=100)printf("one=%d,two=%d,five=%dn”,one,two,five);第5章模塊化程序設計一函數(shù)單選題1、 B2、B3、A4、A5、D6、 D7、B8、B9、B10、A二、編程題1、已知三角形的三邊長,編一實現(xiàn)求三角形面積的功能函數(shù)。說明:用海倫公式來求面積,但要注意輸入的三邊長要符合構成三角形的條件。海倫公式為:Sa=Js.(sa).(sb).(sc)(其中:s=(a+b+c)/2)解:程序如下#include#includefloatArea(inta,intb,intc)floats,ar
23、ea;s=(float)(a+b+c)/2;if(a+b>c)&&(a-b)<c)area=sqrt(s*(s-a)*(s-b)*(s-c);elsearea=0;returnarea;main()inta,b,c;floatarea;floatArea(int,int,int);printf(“請輸入三角形的三邊長n”);scanf(“%d%d%d”,&a,&b,&c);area=Area(a,b,c);if(area!=0)printf(“area=%fn”,area);elesprintf(“error!n”);2、 寫一個判斷素數(shù)的函
24、數(shù),在主函數(shù)輸入一個整數(shù),輸出是否素數(shù)的信息。解:程序如下#include“”intprime(intn)intt,a=1;for(t=2;t<=n/2;t+)if(n%t=0)a=0;break;returna;main()intn;printf(“inputanumber:n”);scanf(“%d”,&n);if(prime(n)=1)printf(“%disprimen”,n);elesprintf(“%disnotprimen”,n);3、編寫函數(shù),求1!+2!+3!+K!的和。解:程序如下#include“”doubleSUM(intk)inti,j;doublefa
25、c,sum;sum=0;for(i=1;i<=k;i+)for(j=1,fac=1;j<=i;j+)fac=fac*j;sum=sum+fac;returnsum;main()intk;doublesum;scanf(“%d”,&k);sum=SUM(k);printf(1!+2!+3!+K!=%.0fn”,sum);4、求方程ax2+bx+c=0的根,用2個函數(shù)分別求當b2-4ac大于0和等于0的根并輸出結果,從主函數(shù)中輸入a、b、c的值。#include“”#include“”voidf1(floata,floatb,floatc)floatt1,t2;t1=(-b+s
26、qrt(b*b-4*a*c)/(2*a);t2=(-b-sqrt(b*b-4*a*c)/(2*a);printf(“t1=%f,t2=%fn”,t1,t2);voidf2(floata,floatb,floatc)floatt1;t2=-b/(2*a);printf(“t1=%fn”,t1);main()floata,b,c;printf(“inputa,b,cn”);scanf(“%f%f%f”,&a,&b,&c);if(b*b-4*a*c>0)f1(a,b,c);elesif(b*b-4*a*c=0)f2(a,b,c);elseprintf(nojie!n&q
27、uot;);第6章數(shù)組一、單項選擇題5、C10、B14、B20、D15、1、C2、D3、D4、C6、D7、B8、C9、D11、B12、B(原題數(shù)組改為a3)13、D16、B17、D18、D19、B二、按要求完成程序的空缺1. 下面程序以每行4個數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?amp;aIi%4=0printf(h");2. 下面程序將二維數(shù)組a的行和列元素互換后存到另一個二維數(shù)組b中,填空。j<=2b皿=aiji<=2三、讀程序段分析程序運行結果1.下面程序運行結果是600o2。下面程序運行結果是he3. 下面程序的運行結果是Theresultis:11617181921
28、21232425四、編程題1、從鍵盤輸入若干整數(shù)(個數(shù)應少于50),其值在0到4的范圍內,用-1作為輸入結束的標志。統(tǒng)計每個整數(shù)的個數(shù)。試編程序完成。解:程序如下#include“”main()inth50,a,b,c,d,e,n,t,i;a=b=c=d=e=0;n=0;scanf(“%d”,&t);while(t!=-1)hn+=t;scanf(“%d”,&t);for(i=0;i<n;i+)switch(hi)case0:a+;break;case 1 :b+;break;case 2 :c+;break;case 3 :d+;break;case 4 :e+;pri
29、ntf(“0:%d,1:%d,2:%d,3:%d,4:%dn”,a,b,c,d,e);2、將一個數(shù)組中的值按逆序重新存放。例如,原來順序為8,6,5,4,2。要求改為2,4,5,6,8。解:程序如下#include“”main()inta50,i,n,temp,t;n=0;scanf(“%d”,&t);while(t!=-1)an+=t;scanf(“%d”,&t);for(i=0;i<n/2;i+)temp=ai,ai=an-1-i,an-1-i=temp;for(i=0;i<n;i+)printf(“%5d”,ai);3、 已有一個排好序的數(shù)組,有鍵盤輸入一個數(shù)
30、,要求按原來的排序規(guī)律將其插入到數(shù)組中。解:程序如下#include“”main()inta50,n,t,i;n=0;scanf(“%d”,&t);while(t!=-1)an+=t;scanf(“%d”,&t);printf(“inputanumber:n”);scanf(“%d”,&t);for(i=n-1;ai>t;i-)ai+1=ai;ai+1=t;for(i=0;i<n+1;i+)printf(“%5d”,ai);4、 寫一函數(shù),使輸入的一個字符串按反序存放,在主函數(shù)中輸入和輸出字符串。解:程序如下#include#include“”voidfan
31、xu(chara,intn)inti;chartemp;for(i=0;i<n/2;i+)temp=ai,ai=an-1-i,an-1-i=temp;main()chara50,n;printf(“inputstring:n”);gets(a);n=strlen(a);fanxu(a,n);printf(“outputstring:n”);puts(a);strcat函數(shù)。5、編一程序,將兩個字符串連接起來,不要用解:程序如下#include“”#include“”voidlianjie(chara50,charb30)intn1,n2,i;n1=strlen(a);n2=strlen(
32、b);for(i=n1;i<=n1+n2;i+)ai=bi-n1;main()chara50,b30;printf(“inputstringa:n”);gets(a);printf(“inputstringb:n”);gets(b);lianjie(a,b);printf(“outputstring:n”);puts(a);6、寫一程序,使給定的一個二維數(shù)組(3X2)轉置,即行列互換解:程序如下#include“”main()inta32,b23,i,j;printf(“inputarraya:n”);for(i=0;i<3;i+)for(j=0;j<2;j+)scanf(“
33、%d”,&aij);for(i=0;i<2;i+)for(j=0;j<3;j+)bij=aji;printf(“inputarraya:n”);for(i=0;i<3;i+)for(j=0;j<2;j+)printf(“%5d”,aij);printf(“n”);printf(“outputarrayb:n”);for(i=0;i<2;i+)for(j=0;j<3;j+)printf(“%5d”,bij);printf(“n”);一、單選題6、D7、C8、C9、B10、B11、C12、B13、D14、B15、D1、B2、B3、B4、D5、B16、D二
34、、分析程序或程序段,寫出運行結果1.運行結果是C51。2.運行結果是dl。3.運行結果是aabcabc。4.運行結果是*ptr1=7,*ptr2=5a=7,b=55.運行結果是hELLO!。6.運行結果是bcdABCD三、編程題7.1、 輸入3個整數(shù),按由小到大的順序輸出。(書中沒該題)解:程序如下#includemain()inta,b,c,*pa,*pb,*pc,temp;pa=&a;pb=&b;pc=&c;printf(inputa、b、c:n");scanf(%d%d%d”,&a,&b,&c);if(*pa>*pb)tem
35、p=*pa,*pa=*pb,*pb=temp;if(*pa>*pc)temp=*pa,*pa=*pc,*pc=temp;if(*pb>*pc)temp=*pb,*pb=*pc,*pc=temp;printf(“從小到大的順序是:n”);printf(“%d,%d,%dn”,a,b,c);7.2、 輸入3個字符串,按由小到大的順序輸出。(書中沒該題)解:程序如下#include“”#include“”main()chara50,b50,c50,*pa,*pb,*pc,*ch;pa=a;pb=b;pc=c;gets(pa);gets(pb);gets(pc);if(strcmp(pa,
36、pb)>0)ch=pa,pa=pb,pb=ch;if(strcmp(pa,pc)>0)ch=pa,pa=pc,pc=ch;if(strcmp(pb,pc)>0)ch=pb,pb=pc,pc=ch;puts(pa);puts(pb);puts(pc);2、輸入10個整數(shù),將其中最小的數(shù)與第一個對換,把最大的數(shù)與最后一個數(shù)對換。寫出3個函數(shù):輸入10個整數(shù);進行處理;輸出10個數(shù)。解:程序如下#include“”voidinput(int*a)intn;for(n=0;n<10;n+)scanf(“%d”,a+n);voidprocess(int*a)intmin,temp
37、,max,n1,n2,i;min=max=*a;n1=n2=0;for(i=1;i<10;i+)if(*(a+i)<min)min=*(a+i);n1=i;if(*(a+i)>max)max=*(a+i);n2=i;temp=a0,a0=an1,an1=temp;temp=a9,a9=an2,an2=temp;voidoutput(int*a)intn;for(n=0;n<10;n+)printf(“%5d”,*(a+n);main()inta10,*pa;pa=a;input(pa);process(pa);output(pa);7.6寫一函數(shù),將一個3X3的矩陣轉值
38、。(書中沒該題)解:程序如下#include“”voidzhuanzhi(int*a)inti,j,temp;for(i=0;i<3;i+)for(j=0;j<=i;j+)temp=*(a+i*3+j),*(a+i*3+j)=*(a+j*3+i),*(a+j*3+i)=temp;main()inta33,*pa,i,j;pa=a;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf(“%d”,pa+i*3+j);zhuanzhi(pa);printf(“outputarraya:n”);for(i=0;i<3;i+)for(j=0;j<3;
39、j+)printf(“%5d”,*(pa+i*3+j);printf(“n”);5、輸入一行文字,找出其中大寫字母、小寫字母、空格、數(shù)字、以及其它字符各有多少?解:程序如下#include“”#include“”main()charch50,*p,n,a,b,c,d,e,i;a=b=c=d=e=0;p=ch;printf(“inputstring:n”);gets(p);n=strlen(p);for(i=0;i<n;i+)if(*(p+i)>=A&&*(p+i)<=Z)a+;elseif(*(p+i)>=a&&*(p+i)<=z)
40、b+;elseif(*(p+i)=)c+;elseif(*(p+i)>=0&&*(p+i)<=9)d+;elsee+;printf(“大寫字母:d,小寫字母:d,空格:d,數(shù)字:d其他字符:%dn”,a,b,c,d,e);第8章結構體與共用體一、單選題1、 A2、C3、A4、D5、D6、D7、D8、C9、C10、B二、判斷分析題(對的打;錯的打“X”并分析原因)1. X分析:因為結構體中是可包含多種不同數(shù)據(jù)類型的變量一種構造類型。2. V3. x分析:因為face是char類型的指針,所以語句printf(“%sn”,*cPtr->face);是錯誤的。改為p
41、rintf(“%cn”,*cPtr->face);4. x分析:共用體變量的各個成員共享同一塊內存區(qū)域,這里所謂的共享不是指把多個成員同時裝入一個共用體變量內,而是指該共用體變量可被賦予任一成員值,但每次只能賦一種值,賦入新值則沖去舊值。5. V三、編程題1、 定義一個結構體變量,其成員包括:職工號、職工名、性別、年齡、工資、地址。程序如下:structemployeeintcode;charname20;charsex;intage;floatmoney;charaddress30;emp;2、 針對上述定義,從鍵盤輸入所需的具體數(shù)據(jù),然后用printf函數(shù)打印出來。程序如下:stru
42、ctemployeeintcode;charname20;charsex;intage;floatmoney;charaddress30;emp;main()scanf(“%d,%s,%c”,emp.code,,emp.sex);scanf(“%d,%f,%s”,emp.age,emp.money,emp.address);printf(輸出職員信息:n");printf(職工號是:dn”,emp.code);printf(職工名是:sn”,);printf(職工性別:cn”,emp.sex);printf(職工年齡:dn”,emp.age);prin
43、tf(職工工資:fn”,emp.money);printf(職工地址:sn”,emp.address);3、 有10個學生,每個學生的數(shù)據(jù)包括學號、姓名及3門課的成績,從鍵盤輸入10個學生數(shù)據(jù),要求打印出3門課總平均成績,以及最高分的學生的數(shù)據(jù)(包括學號、姓名、3門課的成績,平均成績)程序如下:structstudentintnum;charname10;floatscore3;stu10;main()intI,j;floatavg10,sum,max;printf(“輸入10個學生數(shù)據(jù):n”);for(I=0;I<10;I+)scanf(“%d”,stuI.num);scanf(“%s
44、”,stuI.name);for(j=0;j<3;j+)scanf(“%f”,stuI.scorej);for(I=0;I<10;I+)sum=0;for(j=0;j<3;j+)sum=sum+stuI.scorej;avgI=sum/3;printf(“avg%d=%fn”,I,avgI);max=avg0;for(j=1;j<10;j+)if(max<avgj)max=avgj;I=j;printf(num=%d,name=%sH',stuI.num,stuI.name);printf("score0=%f,score1=%f,score2=
45、%fnstuI.score0,stuI.score1,stuI.score2);printf(avg=%fn",avgI);實驗一:1、已知華氏溫度,根據(jù)轉換公式計算相應的攝氏溫度。攝氏溫度=5*(華氏溫度-32)/92.任意輸入一個有五位數(shù)字的正整數(shù),逆序輸出每一數(shù)位上的數(shù)字如:輸入12345輸出54321#include"stdio.h"main()doublet,T;printf("已知華氏溫度,根據(jù)轉換公式計算相應的攝氏溫度”);scanf("%lf",&t);T=(5*(t-32)/9);printf("攝
46、氏溫度=%lf",T);#include"stdio.h"main()intvalue,a,b,c,d,e,m,n,h;printf("任意輸入一個有五位數(shù)字的正整數(shù),逆序輸出每一數(shù)位上的數(shù)字");scanf("%d”,&value);a=value/10000;m=value%10000;b=m/1000;n=m%1000;c=n/100;h=n%100;d=h/10;e=h%10;printf("%d%d%d%d%d”,e,d,c,b,a);實驗二:1 .一個成年人的身高與其父母的身高密切相關,根據(jù)以下人體標準身
47、高預測公式計算自己或某個同學的身高,并跟實際身高比較,給出結論是否符合該公式(誤差在3厘米范圍內即視為相符)。男性身高二(父親身高+母親身高)X+2(厘米)女性身高二(父親身高X0.923+母親身高)+2(厘米)2 .從鍵盤上輸入稅前收入,根據(jù)以下公式及規(guī)則,計算個人所得稅稅額并輸出。應納個人所得稅稅額=(稅前收入一起征點額度)*適用稅率一速算扣除數(shù)其中,起征點額度是3500元,其他如下:應納稅所得額稅率速算扣除數(shù)不超過1500元的部分3%0超過1500元至4500元的部分10%105超過4500元至9000元的部分20%555超過9000元至35003£的部分25%1005超過35
48、0007s至550007s的部分30%2755超過55003£至800035的部分35%5505超過80000的部分45%13505如:某人月收入5003E,則應納個人所得稅稅額為(5000-3500)*10%-105=45元。#include<stdio.h>#include<math.h>main()floatA,a,H,h,b;printf("父親身高(厘米)n");scanf("%f",&A);printf("母親身高(厘米)n");scanf("%f",&
49、a);printf("孩子實際身高(厘米)n");scanf("%f",&H);printf("請選擇孩子性別:女=0,男=1n");scanf("%f",&b);if(b)h=(A+a)*1.08/2;elseh=(A*0.923+a)/2;if(fabs(H-h)<=3)printf("實際身高符合該公式n");elseprintf("實際身高不符合該公式n");printf("孩子預測身高(厘米)%f,h);#include<std
50、io.h>main()floats,a,t;printf("應納個人所得稅稅額=(稅前收入-起征點額度)*適用稅率-速算扣除數(shù)n");printf("起征點額度=35007sn");printf("稅前收入s=");scanf("%f",&s);if(s<=3500)t=0;elsea=s-3500;if(a<=1500)t=a*0.03-0;elseif(a<=4500)t=a*0.1-105;elseif(a<=9000)t=a*0.2-555;elseif(a<=3
51、5000)t=a*0.25-1005;elseif(a<=55000)t=a*0.3-2755;elseif(a<=80000)t=a*0.35-5505;elset=a*0.45-13505;printf("應納個人所得稅稅額=%fn",t);1 .編程解決雞兔同籠問題(無解時給出輸入錯誤提示)。描述如下:一個籠子里關了雞和兔子,已知雞和兔子的總數(shù)a以及腳的總數(shù)b,問籠子里面有多少只雞,有多少只兔子。2 .設計并編程實現(xiàn)一個猜數(shù)游戲:由計算機隨機產(chǎn)生一個1100之間的整數(shù)請人猜,如果猜對了,則在屏幕上輸出猜了多少次才猜對此數(shù),結束游戲;否則計算機給出提示,說明
52、所猜的數(shù)是太大還是太小,最多可以猜10次,如果猜10次仍未猜中的話,則給出正確答案并結束游戲。#include"stdio.h"main()inta,b,i,j;printf("一個籠子里關了雞和兔子,已知雞和兔子的總數(shù)a以及腳的總數(shù)b,求雞兔各幾只n");printf("a=");scanf("%d",&a);printf("b=");scanf("%d",&b);for(i=0;i<=a;i+)for(j=0;j<=a;j+)if(i+j=a&
53、amp;&i*2+j*4=b)printf("雞的只數(shù)=%dn兔子的只數(shù)=%dn",i,j);if(i+j=a&&i*2+j*4=b)break;if(i+j=a&&i*2+j*4=b)break;if(i+j!=a&&i*2+j*4!=b)printf("輸入錯誤n");#include"stdio.h"#include"stdlib.h"#include"time.h"main()inta,b,i;srand(time(0);a=ran
54、d()%100+1;for(i=1;i<=10;i+)printf("請猜一個1-100的數(shù)字b=");scanf("%d",&b);if(b=a)printf("猜了的次數(shù)=%dn",i);break;if(b>a)printf("猜的數(shù)太大n");if(b<a)printf("猜的數(shù)太小n");printf("正確答案是dn",a);實驗四:1 .從鍵盤輸入一個班(不超過30人)學生某門課的成績,當輸入成績?yōu)樨撝禃r,則輸入結束,統(tǒng)計并輸出不及格人數(shù)并打印不及格學生的成績,按成績高低排序,輸出該班最高分及最低分。2 .從鍵盤上輸入一個字符串存放在一個字符數(shù)組中,按照以下規(guī)則對其加密:其中所有的大寫英文字母加3,小寫英文字母減4,其它字符不變,將加密后的字符串存放到另一個字符數(shù)組中,輸出原字符串和加密后的字符串。如:輸入MicrosoftVisualC+輸出Pe_nkokbpYeoqhF+#include"stdio.h"#defineN30main()intaN,i=0,j,k,m=0,t;doprintf("輸入學生成績a%d=",i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高中化學新教材同步 必修第一冊 第3章 第2節(jié) 實驗活動2 鐵及其化合物的性質
- 【四川卷】四川省德陽市高中2022級(2025屆)高三質量監(jiān)測考試(二)(德陽二診)(2.21-2.23)英語試卷答案
- 傾廢航行數(shù)據(jù)記錄儀戰(zhàn)略市場規(guī)劃報告
- 鎳精礦戰(zhàn)略市場規(guī)劃報告
- 信鴿教練合同范本
- 加盟 轉讓合同范本
- 值守合同范本
- 中國學生發(fā)展核心素養(yǎng)心得體會
- 臺車出售合同范本
- 水利工程師水力學試題(附參考答案)
- 2025天津市安全員-B證考試題庫附答案
- 二年級下冊數(shù)學口算題-可打印
- 新風施工合同
- 2025-2030年園藝修剪機器人行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 人教版四年級數(shù)學下冊第四單元測試卷(含答案)
- 2025年湖北省技能高考(建筑技術類)《建筑工程測量》模擬練習試題庫(含答案)
- 2023年中國綜合社會調查調查手冊
- 2024-2027年中國網(wǎng)絡安全評估行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 北師大版二年級數(shù)學下冊各單元測試卷
- 教科版 二年級下冊科學教學計劃
- 福利院裝修改造工程施工組織設計(225頁)
評論
0/150
提交評論