哈工大C語言實(shí)驗題_第1頁
哈工大C語言實(shí)驗題_第2頁
哈工大C語言實(shí)驗題_第3頁
哈工大C語言實(shí)驗題_第4頁
哈工大C語言實(shí)驗題_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

哈工大C語言實(shí)驗題哈工大C語言實(shí)驗題哈工大C語言實(shí)驗題哈工大C語言實(shí)驗題編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:Q308.(10分)第5章實(shí)驗2:體型判斷。醫(yī)務(wù)工作者經(jīng)廣泛的調(diào)查和統(tǒng)計分析,根據(jù)身高與體重因素給出了以下按“體指數(shù)”進(jìn)行體型判斷的方法。體指數(shù)計算公式是:t=w/(h*h)其中:t是體指數(shù);w是體重,其單位為千克;h是身高,其單位為米。根據(jù)給定的體指數(shù)t計算公式,可判斷你的體重屬于何種類型:當(dāng)t<18時,為低體重;當(dāng)18≤t<25時,為正常體重;當(dāng)25≤t<27時,為超重體重;當(dāng)t≥27時,為肥胖。****輸入提示信息格式:"Pleaseenterh,w:\n"****輸入數(shù)據(jù)格式要求:"%f,%f"(先讀入身高,再讀入體重,身高以米讀入,體重以千克讀入)****輸出數(shù)據(jù)格式要求:當(dāng)t<18時,輸出:"Lowerweight!\n"當(dāng)18≤t<25時,輸出:"Standardweight!\n"當(dāng)25≤t<27時,輸出:"Higherweight!\n"當(dāng)t≥27時,輸出:"Toofat!\n"#include<>#include<>

main(){

floatt,w,h;

printf("Pleaseenterh,w:\n");

scanf("%f,%f",&h,&w);

t=w/(h*h);

if(t<18)

printf("Lowerweight!\n");

elseif(t>=18&&t<25)

printf("Standardweight!\n");

elseif(t>=25&&t<27)

printf("Higherweight!\n");

else

printf("Toofat!\n");

return0;}Q586.(10分)編寫一個程序,輸入年份和月份,判斷該年是否是閏年,并根據(jù)給出的月份判斷是什么季節(jié)和該月有多少天(閏年的條件是年份能被4整除但不能被100整除,或者能被400整除;規(guī)定3~5月為春季,6~8月為夏季,9~11月為秋季,1、2和12月為冬季)。**輸入格式要求:"%d,%d"提示信息:"Pleaseenteryear,month:"**輸出格式要求:"%disleapyear\n""%disnotleapyear\n""Theseasonisspring/summer/autumn/winter""Thenumberofdaysofthismonthis%d\n"程序運(yùn)行示例如下:實(shí)例1:Pleaseenteryear,month:2012,112012isleapyearTheseasonisautumnThenumberofdaysofthismonthis30實(shí)例2:Pleaseenteryear,month:2013,122013isnotleapyearTheseasoniswinterThenumberofdaysofthismonthis31#include<>#include<>

main(){

intyear=0,leap=0,mon=0,day=0;

printf("Pleaseenteryear,month:");

scanf("%d,%d",&year,&mon);

if((year%100!=0&&year%4==0)||(year%100==0&&year%400==0)){

printf("%disleapyear\n",year);

leap=1;

}

else

printf("%disnotleapyear\n",year);

switch(mon)

{

case

1:

case

2:

case12:printf("Theseasoniswinter\n");

break;

case

3:

case

4:

case

5:printf("Theseasonisspring\n");

break;

case

6:

case

7:

case

8:printf("Theseasonissummer\n");

break;

case

9:

case10:

case11:printf("Theseasonisautumn\n");

break;

}

switch(mon)

{

case

1:

case

3:

case

5:

case

7:

case

8:

case10:

case12:day=31;

break;

case

4:

case

6:

case

9:

case11:day=30;

break;

case

2:

if(leap==1)

day=29;

else

day=28;

}

printf("Thenumberofdaysofthismonthis%d\n",day);}Q3161.(10分)請用elseif多分支條件判斷語句編程設(shè)計一個簡單的計算器程序。要求:(1)請用戶按以下形式從鍵盤輸入表達(dá)式:操作數(shù)①運(yùn)算符op操作數(shù)②(2)然后計算表達(dá)式的值**輸入提示信息**:無**輸入數(shù)據(jù)格式**:"%f%c%f"**輸出數(shù)據(jù)格式**:"%.2f%c%.2f=%.2f\n"若若輸入的運(yùn)算符是除法運(yùn)算符/,當(dāng)除數(shù)為0時,輸出數(shù)據(jù)格式為:"datis0!Error!\n"若輸入的運(yùn)算符不是加(+)、減(-)、乘(*)、除(/),則輸出數(shù)據(jù)格式為:"Error!\n"[友情提示]:①用戶輸入的運(yùn)算符為算術(shù)運(yùn)算符:加(+)、減(-)、乘(*)、除(/)。用字符變量op表示;②操作數(shù)①和操作數(shù)②為浮點(diǎn)型數(shù)據(jù),分別用浮點(diǎn)型變量dat1、dat2表示。③程序運(yùn)行結(jié)果如下所示:1+2↙+=#include<>#include<>

main(){

floata=0,b=0;

charop;

scanf("%f%c%f",&a,&op,&b);

if(op=='+')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a+b);

elseif(op=='-')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a-b);

elseif(op=='*')

printf("%.2f%c%.2f=%.2f\n",a,op,b,a*b);

elseif(op=='/'){

if(b!=0)

printf("%.2f%c%.2f=%.2f\n",a,op,b,a/b);

else

printf("datis0!Error!\n");

}

else

printf("Error!\n");}Q3185.(10分)實(shí)驗二(2016春劉秉權(quán)C語言課):根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。轉(zhuǎn)換規(guī)則為(要求用switch語句實(shí)現(xiàn)):當(dāng)score大于等于90且小于等于100時,grade=A;當(dāng)score大于等于80且小于90時,grade=B;當(dāng)score大于等于70且小于80時,grade=C;當(dāng)score大于等于60且小于70時,grade=D;當(dāng)score大于等于0且小于60時,grade=E。格式要求:輸入提示:"Pleaseenterscore:"輸出形式形如:"100--A"、"75--C"、"0--E"當(dāng)輸入分?jǐn)?shù)不正確時,輸出:"Inputerror!"#include<>

main(){

ints,m;

printf("Pleaseenterscore:");

scanf("%d",&s);

m=s<0||s>100-1:s/10;

switch(m)

{

case10:

case

9:printf("%d--A\n",s);

break;

case

8:printf("%d--B\n",s);

break;

case

7:printf("%d--C\n",s);

break;

case

6:printf("%d--D\n",s);

break;

case

5:

case

4:

case

3:

case

2:

case

1:

case

0:printf("%d--E\n",s);

break;

default:printf("Inputerror!");

}}Q221.(10分)編程從鍵盤輸入某年某月(包括閏年),用switch語句編程輸出該年的該月?lián)碛械奶鞌?shù)。要求考慮閏年以及輸入月份不在合法范圍內(nèi)的情況。已知閏年的2月有29天,平年的2月有28天。**輸入格式要求:"%d,%d"提示信息:"Inputyear,month:"**輸出格式要求:"31days\n""29days\n""28days\n""Inputerror!\n"程序運(yùn)行示例如下:Inputyear,month:2004,229days#include<>

main(){

inta,b;

printf("Inputyear,month:");

scanf("%4d,%2d",&a,&b);

switch(b)

{

case

1:

case

3:

case

5:

case

7:

case

8:

case10:

case12:

printf("31days\n");

break;

case

4:

case

6:

case

9:

case11:

printf("30days\n");

break;

case

2:

if((a%4==0&&a%100!=0)||a%400==0)

printf("29days\n");

else

printf("28days\n");

break;

default:

printf("Inputerror!\n");

}

return0;}Q210.(10分)第7章實(shí)驗任務(wù)1:所謂素數(shù)是指這個數(shù)只能被1和自身整除。要求在主函數(shù)輸入一個數(shù),調(diào)用函數(shù)Fun()判斷該數(shù)是否是素數(shù)。打印信息在主函數(shù)中進(jìn)行。例如:從鍵盤輸入5,5是素數(shù)則打印如下信息:"5isaprimenumber".又如:從鍵盤輸入4,4不是素數(shù)則打印如下信息:"4isnotaprimenumber"負(fù)數(shù)、0和1均不是素數(shù)。對輸入的數(shù)據(jù)要考慮數(shù)據(jù)的合法性,不滿足條件的數(shù)要重新輸入直到滿足條件為止。不能使用全局變量,不按給定的函數(shù)原型編寫程序不給分。Fun()函數(shù)原型如下:intFun(intm);**輸入數(shù)據(jù)提示信息:"Pleaseinputanumber:\n"注:該提示信息請放在循環(huán)體外**輸入數(shù)據(jù)格式為:"%d"**輸出格式要求:若是素數(shù)輸出數(shù)據(jù)格式為:"%disaprimenumber\n"若不是素數(shù)輸出數(shù)據(jù)格式為:"%disnotaprimenumber\n"#include<>#include<>

intFun(intm);

main(){

inta;

printf("Pleaseinputanumber:\n");

while(scanf("%d",&a))

{

if(a<=0||a==1)

continue;

elseif(a>0&&a!=1&&Fun(a)==1)

printf("%disaprimenumber\n",a);

else

printf("%disnotaprimenumber\n",a);

break;

}

return0;}

intFun(intm){

inti,result;

result=1;

if(m!=2)

{

for(i=2;i<m;i++)

{

if(m%i==0)

{

result=0;

break;

}

}

}

returnresult;}Q3185.(10分)實(shí)驗二(2016春劉秉權(quán)C語言課):根據(jù)輸入的百分制成績score,轉(zhuǎn)換成相應(yīng)的五分制成績grade后輸出。轉(zhuǎn)換規(guī)則為(要求用switch語句實(shí)現(xiàn)):當(dāng)score大于等于90且小于等于100時,grade=A;當(dāng)score大于等于80且小于90時,grade=B;當(dāng)score大于等于70且小于80時,grade=C;當(dāng)score大于等于60且小于70時,grade=D;當(dāng)score大于等于0且小于60時,grade=E。格式要求:輸入提示:"Pleaseenterscore:"輸出形式形如:"100--A"、"75--C"、"0--E"當(dāng)輸入分?jǐn)?shù)不正確時,輸出:"Inputerror!"#include<>

main(){

ints,m;

printf("Pleaseenterscore:");

scanf("%d",&s);

m=s<0||s>100-1:s/10;

switch(m)

{

case10:

case

9:printf("%d--A\n",s);

break;

case

8:printf("%d--B\n",s);

break;

case

7:printf("%d--C\n",s);

break;

case

6:printf("%d--D\n",s);

break;

case

5:

case

4:

case

3:

case

2:

case

1:

case

0:printf("%d--E\n",s);

break;

default:printf("Inputerror!");

}}Q1709.(10分)第6章實(shí)驗1:國王的許諾相傳國際象棋是古印度舍罕王的宰相達(dá)依爾發(fā)明的。舍罕王十分喜歡象棋,決定讓宰相自己選擇何種賞賜。這位聰明的宰相指著8×8共64格的象棋盤說:陛下,請您賞給我一些麥子吧,就在棋盤的第1個格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盤上的64個格子,我就感恩不盡了。舍罕王讓人扛來一袋麥子,他要兌現(xiàn)他的許諾。請問:國王能兌現(xiàn)他的許諾嗎試編程計算舍罕王共要多少麥子賞賜他的宰相,這些麥子合多少立方米(已知1立方米麥子約粒)注:(1)不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進(jìn)行編程。(2)用標(biāo)準(zhǔn)C語言編程,所有變量必須在第一條可執(zhí)行語句前定義。(3)輸入輸出格式要和以下給定格式完全一致。**輸入格式:無**輸出格式:"sum=%e\n""volum=%e\n"%e表示double類型#include<>#include<>

main(){

inti;

doubles,v;

s=0;

for(i=0;i<=63;i++)

s=s+pow(2,i);

v=s/;

printf("sum=%e\n",s);

printf("volum=%e\n",v);

return0;}Q1719.(10分)第7章實(shí)驗任務(wù)3從鍵盤任意輸入一個整數(shù)n,編程計算并輸出1~n之間的所有素數(shù)之和輸入提示信息:"Inputn:"輸入格式:"%d"輸出格式:"sum=%d\n"#include<>#include<>

intFun(intm);

main(){

intn,i,s;

s=0;

printf("Inputn:");

scanf("%d",&n);

for(i=2;i<=n;i++)

{

if(Fun(i)==1)

s=s+i;

}

printf("sum=%d\n",s);

return0;}

intFun(intm){

inti,result;

result=1;

if(m!=2)

{

for(i=2;i<m;i++)

{

if(m%i==0)

{

result=0;

break;

}

}

}

returnresult;}Q1720.(10分)第7章實(shí)驗任務(wù)6從鍵盤任意輸入一個整數(shù)m,若m不是素數(shù),則對m進(jìn)行質(zhì)因數(shù)分解,并將m表示為質(zhì)因數(shù)從小到大順序排列的乘積形式輸出,否則輸出"Itisaprimenumber"。例如,用戶輸入90時,程序輸出90=2*3*3*5;用戶輸入17時,程序輸出"Itisaprimenumber"。輸入提示信息:"Inputm:"輸入格式:"%d"輸出格式:是素數(shù)時輸出"Itisaprimenumber\n"否則輸出用"%d=","%d*"運(yùn)行示例1:Inputm:90↙90=2*3*3*5運(yùn)行示例2:Inputm:13↙Itisaprimenumber#include<>

intFun(intm);intIsPerfect(intm);

main(){

intm,i,p;

printf("Inputm:");

scanf("%d",&m);

p=m;

if(Fun(m)==1)

printf("Itisaprimenumber\n");

else

{

printf("%d=",m);

for(i=2;i<m;i++)

{

if(p%IsPerfect(i)==0&&p/IsPerfect(i)!=1&&IsPerfect(i)!=1)

printf("%d*",i);

elseif(p%IsPerfect(i)==0&&p/IsPerfect(i)==1&&IsPerfect(i)!=1)

{

printf("%d",i);

break;

}

else

continue;

p=p/i;

while(p%i==0)

{

if(p/i!=1)

{

printf("%d*",i);

p=p/i;

}

else

{

printf("%d",i);

break;

}

}

}

}

return0;}

intFun(intm){

inti,result;

result=1;

if(m!=2)

{

for(i=2;i<m;i++)

{

if(m%i==0)

{

result=0;

break;

}

}

}

returnresult;}

intIsPerfect(intm){

inti,result;

result=1;

if(m!=2)

{

for(i=2;i<=m;i++)

{

if(m%i==0)

break;

elseif(m%i!=1&&m/i!=1)

continue;

else

result=m;

}

}

else

result=2;

returnresult;}Q198.(10分)第7章實(shí)驗任務(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ù)。intIsPerfect(intx);**要求輸入提示信息為:"Inputm:\n"**要求輸入格式為:"%d"**要求輸出格式為"%disaperfectnumber\n""%disnotaperfectnumber\n"注:不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進(jìn)行編程,主函數(shù)不能使用intmain和return0。#include<>

intIsPerfect(intm);

main(){

inta;

printf("Inputm:\n");

scanf("%d",&a);

if(IsPerfect(a)==1)

printf("%disaperfectnumber\n",a);

else

printf("%disnotaperfectnumber\n",a);}

intIsPerfect(intm){

inti,s,find;

s=0;

for(i=1;i<m;i++)

{

if(m%i==0)

s=s+i;

else

continue;

}

if(s==m)

find=1;

else

find=0;

returnfind;}Q3168.(10分)編程從鍵盤輸入一個小寫英文字母,將其轉(zhuǎn)換為大寫英文字母,并將轉(zhuǎn)換后的大寫英文字母及其十進(jìn)制的ASCII碼值顯示到屏幕上。**輸入提示信息**:"Pleaseinputalow-caseletterfromkeyboard:"**輸入數(shù)據(jù)格式**:"%c"**輸出數(shù)據(jù)格式**:"ThecapitalletteranditsASCIIvalueare:%cand%d."提示:從鍵盤輸入一個字符可用scanf也可用getchar#include<>

main(){

chara;

printf("Pleaseinputalow-caseletterfromkeyboard:");

a=getchar();

a=a-32;

printf("ThecapitalletteranditsASCIIvalueare:%cand%d.",a,a);}Q3241.(10分)實(shí)驗三(2016春劉秉權(quán)C語言課):已知公式e=1+1/1!+1/2!+1/3!+...+1/n!,編程計算e的近似值,直到最后一項的絕對值小于1e-7時為止,輸入e的值并統(tǒng)計累加的項數(shù)。要求:按順序輸出每一個e值,小數(shù)點(diǎn)后保留8位有效數(shù)字,輸出格式形如:e=2.,count=4(回車換行,count為累加的項數(shù))#include<>

doublefun(intn);

main(){

inti,c;

doublee;

c=0;

e=0;

for(i=0;i<=11;i++)

{

e=e+fun(i);

c++;

printf("e=%.8lf,count=%d\n",e,c);

}}

doublefun(intn){

doubleresult;

inti;

i=1;

result=1;

do

{

result=result*i;

i++;

}

while(i<=n);

result=/result;

returnresult;}Q1710.(10分)第7章實(shí)驗任務(wù)4:任意輸入一個整數(shù)m,若m不是素數(shù),則輸出其所有不包括1和自身的因子;否則輸出“沒有因子,是素數(shù)”的相關(guān)提示信息。輸入提示信息:"Pleaseenteranumber:"輸入格式:"%d"輸出格式:有因子時:"%d\n"無因子時:"Itisaprimedivisor!\n"輸入為1,0,-1時:"Itisnotaprimedivisor!\n"#include<>#include<>

intFun(intm);

main(){

inta,i;

printf("Pleaseenteranumber:");

scanf("%d",&a);

if(Fun(fabs(a))==1)

printf("Itisaprimedivisor!\n");

else

{

for(i=2;i<fabs(a);i++)

{

if(a%i==0)

printf("%d\n",i);

}

}}

intFun(intm){

inti,result;

result=1;

if(m!=2&&m!=1)

{

for(i=2;i<m;i++)

{

if(m%i==0)

{

result=0;

break;

}

}

}

elseif(m==1)

result=0;

else;

returnresult;}Q1718.(10分)第5章實(shí)驗1:身高預(yù)測。每個做父母的都關(guān)心自己孩子成人后的身高,據(jù)有關(guān)生理衛(wèi)生知識與數(shù)理統(tǒng)計分析表明,影響小孩成人后的身高的因素包括遺傳、飲食習(xí)慣與體育鍛煉等。小孩成人后的身高與其父母的身高和自身的性別密切相關(guān)。設(shè)faHeight為其父身高,moHeight為其母身高,身高預(yù)測公式為男性成人時身高=(faHeight+moHeight)×cm女性成人時身高=(faHeight×+moHeight)/2cm此外,如果喜愛體育鍛煉,那么可增加身高2%;如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高%。請編程從鍵盤輸入用戶的性別(用字符型變量sex存儲,輸入字符F表示女性,輸入字符M表示男性)、父母身高(用實(shí)型變量存儲,faHeight為其父身高,moHeight為其母身高)、是否喜愛體育鍛煉(用字符型變量sports存儲,輸入字符Y表示喜愛,輸入字符N表示不喜愛)、是否有良好的飲食習(xí)慣等條件(用字符型變量diet存儲,輸入字符Y表示良好,輸入字符N表示不好),利用給定公式和身高預(yù)測方法對身高進(jìn)行預(yù)測。運(yùn)行示例:Areyouaboy(M)oragirl(F)F↙Pleaseinputyourfather'sheight(cm):182↙Pleaseinputyourmother'sheight(cm):162↙Doyoulikesports(Y/N)N↙Doyouhaveagoodhabitofdiet(Y/N)Y↙Yourfutureheightwillbe167(cm)#include<>

main(){

floatfh,mh,h;

charsex,sports,diet;

printf("Areyouaboy(M)oragirl(F)");

sex=getchar();

getchar();

printf("Pleaseinputyourfather'sheight(cm):");

scanf("%f",&fh);

getchar();

printf("Pleaseinputyourmother'sheight(cm):");

scanf("%f",&mh);

getchar();

printf("Doyoulikesports(Y/N)");

sports=getchar();

getchar();

printf("Doyouhaveagoodhabitofdiet(Y/N)");

diet=getchar();

if(sex=='M')

h=(fh+mh)*;

elseif(sex=='F')

h=(fh*+mh)/2;

else

{

printf("Error!\n");

gotoR;

}

if(sports=='Y')

h=h*;

elseif(sports=='N');

else

{

printf("Error!\n");

gotoR;

}

if(diet=='Y')

h=h*;

elseif(diet=='N');

else

{

printf("Error!\n");

gotoR;

}

printf("Yourfutureheightwillbe%.0f(cm)\n",h);R:

return0;}Q3134.(.(10分)第8章實(shí)驗1:學(xué)生成績管理系統(tǒng)某班有最多不超過30人(具體人數(shù)由鍵盤輸入)參加某門課程的考試,用一維數(shù)組作函數(shù)參數(shù)編程實(shí)現(xiàn)如下學(xué)生成績管理:(1)錄入每個學(xué)生的學(xué)號和考試成績;(2)計算課程的總分和平均分;(3)按成績由高到低排出名次表;(4)按學(xué)號由小到大排出成績表;(5)按學(xué)號查詢學(xué)生排名及其考試成績;(6)按優(yōu)秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5個類別,統(tǒng)計每個類別的人數(shù)以及所占的百分比;(7)輸出每個學(xué)生的學(xué)號、考試成績。程序運(yùn)行結(jié)果示例:Inputstudentnumber(n<30):6↙ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:1↙Inputstudent'sID,nameandscore:87↙98↙75↙48↙65↙100↙ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:2↙sum=473,aver=ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:3↙Sortindescendingorderbyscore: 100 98 87 75 65 48ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:4↙Sortinascendingorderbynumber: 87 48 75 65 98 100ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:5↙Inputthenumberyouwanttosearch: 65ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:6↙<60 1 %60-69 1 %70-79 1 %80-89 1 %90-99 1 %100 1 %ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:7↙ 87 48 75 65 98 100ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:8↙Inputerror!ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:0↙Endofprogram!輸入格式:(1)錄入學(xué)生的人數(shù):**輸入數(shù)據(jù)格式:"%d"**提示信息:"Inputstudentnumber(n<30):\n"(2)錄入每個學(xué)生的學(xué)號和考試成績:**輸入數(shù)據(jù)格式:"%ld%f"**提示信息:"Inputstudent'sID,nameandscore:\n"輸出格式:菜單項的輸出顯示:ManagementforStudents'scoresrecordtotalandaveragescoreofcourseindescendingorderbyscoreinascendingorderbynumberbynumberanalysisrecordPleaseInputyourchoice:計算課程的總分和平均分:**輸出總分與平均分格式:"sum=%.0f,aver=%.2f\n"按成績由高到低排出名次表:**輸出格式:"%ld\t%.0f\n"**提示信息:"Sortindescendingorderbyscore:\n"按學(xué)號由小到大排出成績表:**輸出格式:"%ld\t%.0f\n"**提示信息:"Sortinascendingorderbynumber:\n"按學(xué)號查詢學(xué)生排名及其考試成績:**如果未查到此學(xué)號的學(xué)生,提示信息:"Notfound!\n"**如果查詢到該學(xué)生,輸出格式:"%ld\t%.0f\n"按優(yōu)秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~59)5個類別,統(tǒng)計每個類別的人數(shù)以及所占的百分比:**成績<60輸出格式:"<60\t%d\t%.2f%%\n"**成績=100輸出格式:"%d\t%d\t%.2f%%\n"**其他輸出百分比格式:"%d-%d\t%d\t%.2f%%\n"#include<>#include<>#defineN30

main(){

intn,i,j,temp1,temp2,choice,p,mark;

longids;

floatsum;

printf("Inputstudentnumber(n<30):\n");

while(scanf("%d",&n))

{

if(n<30&&n>0)

break;

else

{

printf("InvalidInput!");

continue;

}

}

longid[N];

floatscore[N];

Choice:

printf("ManagementforStudents'scores\n");

printf("record\n");

printf("totalandaveragescoreofcourse\n");

printf("indescendingorderbyscore\n");

printf("inascendingorderbynumber\n");

printf("bynumber\n");

printf("analysis\n");

printf("record\n");

printf("\n");

printf("PleaseInputyourchoice:\n");

scanf("%d",&choice);

getchar();

switch(choice)

{

case

1:gotoa;

case

2:gotob;

case

3:gotoc;

case

4:gotod;

case

5:gotoe;

case

6:gotof;

case

7:gotog;

case

0:gotoend;

default:

printf("Inputerror!\n");

gotoChoice;

}

a:

printf("Inputstudent'sID,nameandscore:\n");

for(i=1;i<=n;i++)

{

scanf("%ld%f",&id[i],&score[i]);

getchar();

}

gotoChoice;

b:

sum=0;

for(i=1;i<=n;i++)

sum=sum+score[i];

printf("sum=%.0f,aver=%.2f\n",sum,sum/n);

gotoChoice;

c:

printf("Sortindescendingorderbyscore:\n");

for(i=1;i<n;i++)

for(j=i+1;j<=n;j++)

if(score[j]>score[i])

{

temp1=score[i],temp2=id[i];

score[i]=score[j],id[i]=id[j];

score[j]=temp1,id[j]=temp2;

}

for(i=1;i<=n;i++)

printf("%ld\t%.0f\n",id[i],score[i]);

gotoChoice;

d:

printf("Sortinascendingorderbynumber:\n");

for(i=1;i<n;i++)

for(j=i+1;j<=n;j++)

if(id[i]>id[j])

{

temp1=score[i],temp2=id[i];

score[i]=score[j],id[i]=id[j];

score[j]=temp1,id[j]=temp2;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論