版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 15708-2:2025 EN Non-destructive testing - Radiation methods for computed tomography - Part 2: Principles,equipment and samples
- 貴州財經(jīng)職業(yè)學(xué)院《電路實(shí)驗A》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽幼兒師范高等??茖W(xué)?!稄?qiáng)化傳熱》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025海南建筑安全員考試題庫附答案
- 2025年海南建筑安全員知識題庫
- 2025年山西省安全員B證考試題庫附答案
- 廣州幼兒師范高等??茖W(xué)?!稊?shù)字邏輯與計算機(jī)組成原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《作物栽培學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年貴州省建筑安全員知識題庫附答案
- 2025青海建筑安全員考試題庫附答案
- 血透管的固定和護(hù)理
- 寒假彎道超車主題勵志班會課件
- 觸電與應(yīng)急知識培訓(xùn)總結(jié)
- 分布式光伏高處作業(yè)專項施工方案
- 代理記賬機(jī)構(gòu)自查報告范文
- 項目貸款保證函書
- 新版標(biāo)準(zhǔn)日本語(初級)上下冊單詞默寫表
- 面向5G網(wǎng)絡(luò)建設(shè)的站點(diǎn)供電技術(shù)應(yīng)用與發(fā)展
- 普通語文課程標(biāo)準(zhǔn)(2023年核心素養(yǎng)版)
- 洗滌劑常用原料
- 曼陀羅中毒課件
評論
0/150
提交評論