版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
6.1 "/*下面代碼的功能是將百分制成績(jī)轉(zhuǎn)換為5分制成績(jī),具體功能是:如果用戶輸入的是非法字符或者不在合理區(qū)間內(nèi)的數(shù)據(jù)(例如輸入的是a,或者102,或-45等),則程序輸出Inputerror!,并允許用戶重新輸入,直到輸入合法數(shù)據(jù)為止,并將其轉(zhuǎn)換為5分制輸出。目前程序存在錯(cuò)誤,請(qǐng)將其修改正確。并按照下面給出的運(yùn)行示例檢查程序。*/#include<stdio.h>#include<string.h>intmain(){charscore[100];intflag=0,i,s;chargrade;printf(""Pleaseinputscore:\n"");while(1){flag=0;scanf(""%s"",score);for(i=0;i<strlen(score);i++){if(score[i]>='0'&&score[i]<='9'){continue;}else{flag=1;break;}}s=atoi(score);if(s<0||s>100||flag==1){printf(""Inputerror!\n"");printf(""Pleaseinputscore:\n"");continue;}else{break;}}s=atoi(score);if(s>=90){grade='A';}elseif(s>=80){grade='B';}elseif(s>=70){grade='C';}elseif(s>=60){grade='D';}else{grade='E';}printf(""grade:%c\n"",grade);return0;}"6.2 "#include<stdio.h>#include<math.h>intmain(){intn,a,i,j;doublep=0,q=0;printf(""Inputa,n:\n"");scanf(""%d,%d"",&a,&n);for(i=1;i<=n;i++){for(j=0,p=0;j<i;j++){p=p+a*pow(10,j);}q=p+q;}printf(""sum=%.0f\n"",q);return0;}"6.3 "/*if(r==0)returnb;elsereturngys(b,r);}main(){printf(""Inputa,b:"");inta,b;scanf(""%d,%d"",&a,&b);if(a<=0||b<=0){printf(""Inputerror!\n"");}elseprintf(""%d\n"",gys(a,b));}"7.3 "#include<stdio.h>intmedian(inta,intb,intc){if(a<b){if(b<c){returnb;}else{returna<c?c:a;}//a<c<b:c<a<b}else{if(c>a){returna;}//c>a>belse{returnc>b?c:b;}//a>c>b:a>b>c}}main(){inta,b,c;scanf(""%d%d%d"",&a,&b,&c);printf(""Theresultis%d\n"",median(a,b,c));}"7.4 "#include<stdio.h>main(){printf(""Inputn(n<1000):\n"");inta,b,c,n,s,x,y,z,flag=0;scanf(""%d"",&n);for(x=1;x<=9;x++){for(y=1;y<=9;y++){for(z=0;z<=9;z++){if(x*100+y*10+z+y*100+z*11==n){flag=1;a=x,b=y,c=z;break;}}}}if(flag)printf(""X=%d,Y=%d,Z=%d\n"",a,b,c);elseprintf(""Invalid\n"");}"8.1 "/*用二維數(shù)組作為函數(shù)參數(shù),編程計(jì)算并輸出n×n階矩陣的轉(zhuǎn)置矩陣。其中,n的值不超過10,n的值由用戶從鍵盤輸入。程序運(yùn)行結(jié)果示例1:Inputn:3↙Input3*3matrix:123456789Thetransposedmatrixis:147258369程序運(yùn)行結(jié)果示例2:Inputn:2↙Input2*2matrix:12↙45↙Thetransposedmatrixis:1425輸入提示信息:提示輸入矩陣的階數(shù):""Inputn:""提示輸入矩陣數(shù)據(jù):""Input%d*%dmatrix:\n""輸入格式:""%d""輸出提示信息:""Thetransposedmatrixis:\n""輸出格式:""%4d""*/#include<stdio.h>intmain(){printf(""Inputn:"");intn;scanf(""%d"",&n);printf(""Input%d*%dmatrix:\n"",n,n);intm[n][n],i,j;for(i=0;i<n;i++){for(j=0;j<n;j++){scanf(""%d"",&m[i][j]);}}printf(""Thetransposedmatrixis:\n"");for(i=0;i<n;i++){for(j=0;j<n;j++){printf(""%4d"",m[j][i]);}printf(""\n"");}return0;}"8.2 "/*用二維數(shù)組作為函數(shù)參數(shù),編程計(jì)算并輸出n×n階矩陣的轉(zhuǎn)置矩陣。其中,n的值不超過10,n的值由用戶從鍵盤輸入。程序運(yùn)行結(jié)果示例1:Inputn:3↙Input3*3matrix:123456789Thetransposedmatrixis:147258369程序運(yùn)行結(jié)果示例2:Inputn:2↙Input2*2matrix:12↙45↙Thetransposedmatrixis:1425輸入提示信息:提示輸入矩陣的階數(shù):""Inputn:""提示輸入矩陣數(shù)據(jù):""Input%d*%dmatrix:\n""輸入格式:""%d""輸出提示信息:""Thetransposedmatrixis:\n""輸出格式:""%4d""*/#include<stdio.h>intmain(){printf(""Inputn(n<=12):\n"");intn,total=0,i,s=0,b=1,t;scanf(""%d"",&n);printf(""%4d"",1);for(i=2;i<=n;i++){t=s;s=b;b=b+t;printf(""%4d"",s+b);}printf(""\nTotal=%d\n"",s+b);return0;}"8.3 "/*一輛卡車違犯交通規(guī)則,撞人后逃跑?,F(xiàn)場(chǎng)有三人目擊事件,但都沒記住車號(hào),只記下車號(hào)的一些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的,但與前兩位不同;丙是位數(shù)學(xué)家,他說:四位的車號(hào)剛好是一個(gè)整數(shù)的平方。現(xiàn)在請(qǐng)根據(jù)以上線索幫助警方找出車號(hào)以便盡快破案。[提示]:假設(shè)這個(gè)4位數(shù)的前兩位數(shù)字都是i,后兩位數(shù)字都是j,則這個(gè)可能的4位數(shù)k=1000*i+100*i+10*j+j式中,i和j都在0~9變化。此外,還應(yīng)使k=m*m,m是整數(shù)。由于k是一個(gè)4位數(shù),所以m值不可能小于31。輸入格式:無輸出格式:""k=%d,m=%d\n""*/#include<stdio.h>intmain(){inti,j,k,m,tk,tm;for(i=0;i<=9;i++){for(j=0;j<=9;j++){for(m=31;m<100;m++){k=1000*i+100*i+10*j+j;if(i!=j&&m*m==k){tm=m;tk=k;break;}}}}printf(""k=%d,m=%d\n"",tk,tm);return0;}"8.4 "/*幻方矩陣是指該矩陣中每一行、每一列、每一對(duì)角線上的元素之和都是相等的。從鍵盤輸入一個(gè)5×5的矩陣并將其存入一個(gè)二維整型數(shù)組中,檢驗(yàn)其是否為幻方矩陣,并將其按指定格式顯示到屏幕上。輸入格式:""%d""輸出格式:如果是幻方矩陣,輸出提示信息:""Itisamagicsquare!\n""矩陣元素的輸出:""%4d""(換行使用""\n"")如果不是幻方矩陣,輸出提示信息:""Itisnotamagicsquare!\n""輸入樣例1:17_24_1_8_1523_5_7_14_164_6_13_20_2210_12_19_21_311_18_25_2_9(輸人樣例中“_”代表空格)輸出樣例1:Itisamagicsquare!**17**24***1**8**15**23***5***7**14**16***4***6**13**20**22**10**12**19**21***3**11**18**25***2***9(輸出樣例中“*”代表空格)輸入樣例2:1_0_1_6_13_1_1_1_11_1_1_1_21_1_1_1_19_1_7_1_1(輸人樣例中“_”代表空格)輸出樣例2:Itisnotamagicsquare!注意:為避免出現(xiàn)格式錯(cuò)誤,請(qǐng)直接拷貝粘貼上面給出的輸入、輸出提示信息和格式控制字符串!(輸人樣例中“_”代表空格,輸出樣例中“*”代表空格)*/#include<stdio.h>intmain(){inta[5][5],i,j,t,row[5]={0},col[5]={0},dl1=0,dl2=0,flag=1;for(i=0;i<5;i++){for(j=0;j<5;j++){scanf(""%d"",&a[i][j]);}}for(i=0;i<5;i++){for(j=0;j<5;j++){row[i]+=a[i][j];}}for(i=0;i<5;i++){for(j=0;j<5;j++){col[i]+=a[j][i];}}for(i=0;i<5;i++){dl1+=a[i][i];dl2+=a[4-i][4-i];}for(i=0;i<4;i++){if(col[i]!=col[i+1]){flag=0;break;}if(row[i]!=row[i+1]){flag=0;break;}}if(col[1]!=row[1]){flag=0;}if(dl1!=dl2){flag=0;}if(dl1!=col[1]){flag=0;}if(flag){printf(""Itisamagicsquare!\n"");for(i=0;i<5;i++){for(j=0;j<5;j++){printf(""%4d"",a[i][j]);}printf(""\n"");}}else{printf(""Itisnotamagicsquare!\n"");}return0;}"9.1 "/*從鍵盤輸入一個(gè)數(shù),檢查這個(gè)數(shù)中是否有重復(fù)出現(xiàn)的數(shù)字。如果這個(gè)數(shù)中有重復(fù)出現(xiàn)的數(shù)字,則顯示“Repeateddigit!”;否則顯示“Norepeateddigit!”。已知函數(shù)原型:intCountRepeatNum(intcount[],intn);若有重復(fù)數(shù)字,則該函數(shù)返回重復(fù)出現(xiàn)的數(shù)字;否則返回-1.程序運(yùn)行結(jié)果示例1:Inputn:28212Repeateddigit!程序運(yùn)行結(jié)果示例2:Inputn:12345↙Norepeateddigit!輸入提示:""Inputn:\n""輸入格式:""%ld""輸出格式:有重復(fù)數(shù)字,輸出信息:""Repeateddigit!\n""沒有重復(fù)數(shù)字,輸出信息:""Norepeateddigit!\n""*/#include<stdio.h>intmain(){intlog[10]={0},a[100];intb,i=0,n,c,d;printf(""Inputn:\n"");scanf(""%d"",&n);while(n!=0){b=n%10;n/=10;a[i]=b;i++;}a[i]=n;intflag=0;for(c=0;c<i;c++)for(d=c+1;d<i;d++){if(a[c]==a[d]){flag=1;break;}}//if(a[0]==a[i-1]||a[0]==a[1])flag=1;if(flag)printf(""Repeateddigit!\n"");elseprintf(""Norepeateddigit!\n"");}"9.2 "/*教授正在為一個(gè)有N個(gè)學(xué)生的班級(jí)講授離散數(shù)學(xué)課。他對(duì)某些學(xué)生缺乏紀(jì)律性很不滿意,于是決定:如果課程開始后上課的人數(shù)小于K,就取消這門課程。從鍵盤輸入每個(gè)學(xué)生的到達(dá)時(shí)間,請(qǐng)編程確定該課程是否被取消。如果該門課程被取消,則輸出“Yes”,否則輸出“No”。假設(shè)教授在時(shí)刻0開始上課。如果一個(gè)學(xué)生的到達(dá)時(shí)間是非正整數(shù),則表示該學(xué)生在上課前進(jìn)入教室。如果一個(gè)學(xué)生的到達(dá)時(shí)間是正整數(shù),則表示該學(xué)生在上課后進(jìn)入教室。如果一個(gè)學(xué)生在時(shí)刻0進(jìn)入教室,也被認(rèn)為是在上課前進(jìn)入教室。假設(shè)到達(dá)時(shí)間的絕對(duì)值不超過100,學(xué)生數(shù)N不超過1000。要求在輸入學(xué)生的到達(dá)時(shí)間之前,先輸入N和K。已知函數(shù)原型://函數(shù)功能:根據(jù)數(shù)組a中記錄的學(xué)生到達(dá)時(shí)間確定課程是否被取消,取消則返回1,否則返回0intIsCancel(inta[],intn,intk);程序運(yùn)行結(jié)果示例1:Inputn,k:4,3↙-1-342↙YES程序運(yùn)行結(jié)果示例2:Inputn,k:5,3↙-1-2-304↙NO輸入提示:""Inputn,k:\n""輸入格式:""%d,%d""""%d""輸入包括兩行數(shù)據(jù):第1行是n,k的值。第2行是學(xué)生的到達(dá)時(shí)間。輸出格式:課程被取消,輸出""YES""課程不取消,輸出""NO""*/#include<stdio.h>intIsCancel(inta[],intn,intk){inti,s=0;for(i=0;i<n;i++){if(a[i]<=0){s++;}}if(s<k){return1;}elsereturn0;}intmain(){inta[100];inti,n,k;printf(""Inputn,k:\n"");scanf(""%d,%d"",&n,&k);for(i=0;i<n;i++){scanf(""%d"",&a[i]);}if(IsCancel(a,n,k))printf(""YES"");elseprintf(""NO"");}"9.3 "/*請(qǐng)編程找出一個(gè)M*N矩陣中的鞍點(diǎn),即該位置上的元素是該行上的最大值,是該列上的最小值。如果矩陣中沒有鞍點(diǎn),則輸出“Nosaddlepoint!”已知函數(shù)原型:voidFindSaddlePoint(inta[][N],intm,intn);在該函數(shù)中輸出有無鞍點(diǎn)的信息。程序運(yùn)行結(jié)果示例1:Inputm,n:3,3↙Inputmatrix:123456789a[0][2]is3程序運(yùn)行結(jié)果示例2:Inputm,n:3,4↙Inputmatrix:347501829326Nosaddlepoint!輸入提示:""Inputm,n:\n""“Inputmatrix:\n""輸入格式:輸入矩陣大?。?"%d,%d""輸入矩陣元素:""%d""輸出格式:找到鞍點(diǎn)的輸出格式:""a[%d][%d]is%d\n""沒找到鞍點(diǎn)的輸出格式:""Nosaddlepoint!\n""*/#include<stdio.h>#include<string.h>main(){inta[100][100],m;intn,i,j,k,max,flag=0,shit=0,l;printf(""Inputm,n:\n"");scanf(""%d,%d"",&n,&l);printf(""Inputmatrix:\n"");for(i=0;i<n;i++)for(j=0;j<l;j++)scanf(""%d"",&a[i][j]);for(i=0;i<n;i++){flag=0;m=a[i][0];for(j=0;j<l;j++)if(a[i][j]>m){m=a[i][j];max=j;}for(k=0;k<n;k++){if(a[k][max]<=m&&k!=i){flag=1;break;}}if(flag==0){printf(""a[%d][%d]is%d\n"",i,max,m);shit=1;break;}}if(shit==0)printf(""Nosaddlepoint!\n"");}"9.4 "/*輸入一串字符(字符數(shù)小于80),以回車表示輸入結(jié)束,編程計(jì)算并輸出這串字符中連續(xù)重復(fù)次數(shù)最多的字符和重復(fù)次數(shù)。如果重復(fù)次數(shù)最多的字符有兩個(gè),則輸出最后出現(xiàn)的那一個(gè)。已知函數(shù)原型://函數(shù)功能:統(tǒng)計(jì)字符串中連續(xù)重復(fù)次數(shù)最多的字符及其重復(fù)的次數(shù)//函數(shù)參數(shù):str指向待統(tǒng)計(jì)的字符串,指針形參tag返回重復(fù)字符最后出現(xiàn)的下標(biāo)位置//函數(shù)返回值:返回字符重復(fù)的次數(shù)intCountRepeatStr(charstr[],int*tag);求解思路:設(shè)置一個(gè)計(jì)數(shù)器,遍歷字符串中的所有字符,若str[i]==str[i+1],則計(jì)數(shù)器加1,同時(shí)判斷計(jì)數(shù)器的值是否大于記錄的最大重復(fù)次數(shù)max,若大于,則用計(jì)數(shù)器的值更新max,并記錄該字符最后出現(xiàn)的位置i+1.若str[i]!=str[i+1],則計(jì)數(shù)器重新初始化為1。遍歷結(jié)束時(shí),函數(shù)返回max的值。程序運(yùn)行結(jié)果示例1:Inputastring:2344455555↙5:5程序運(yùn)行結(jié)果示例2:Inputastring:sgf222257↙2:4輸入提示信息:""Inputastring:\n""輸入格式:用gets()輸入字符串輸出格式:""%c:%d\n""*/#include<stdio.h>#include<string.h>intmain(){chara[80];intb,i,j,t=1,tl,num=0;printf(""Inputastring:\n"");gets(a);for(i=0;i<strlen(a);i++){t=1;for(j=i+1;j<strlen(a);j++){if(a[j]==a[i]){t++;}}if(i==0){tl=t;}else{if(t>tl){tl=t;num=i;}}}printf(""%c:%d\n"",a[num],tl);}"10.1 "/*從鍵盤輸入一串字符(假設(shè)字符數(shù)少于8個(gè)),以回車表示輸入結(jié)束,編程將其中的數(shù)字部分轉(zhuǎn)換為整型數(shù)并以整型的形式輸出。函數(shù)原型為intMyatoi(charstr[]);其中,形參數(shù)組str[]對(duì)應(yīng)用戶輸入的字符串,函數(shù)返回值為轉(zhuǎn)換后的整型數(shù)。解題思路的關(guān)鍵是:1)判斷字符串中的字符是否是數(shù)字字符;2)如何將數(shù)字字符轉(zhuǎn)換為其對(duì)應(yīng)的數(shù)字值;3)如何將每一個(gè)轉(zhuǎn)換后的數(shù)字值加起來形成一個(gè)整型數(shù)。程序運(yùn)行結(jié)果示例1:Inputastring:7hg09y↙709程序運(yùn)行結(jié)果示例2:Inputastring:9w2k7m0↙9270程序運(yùn)行結(jié)果示例3:Inputastring:happy↙0輸入提示信息:""Inputastring:""輸入格式:""%7s""輸出格式:""%d\n""*/#include<stdio.h>#include<stdlib.h>#include<string.h>intMyatoi(charstr[]){inti,j;for(i=0,j=0;str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9'){str[j]=str[i];j++;}}str[j]='\0';returnatoi(str);}intmain(){chars[7];printf(""Inputastring:"");scanf(""%7s"",s);printf(""%d"",Myatoi(s));printf(""\n"");return0;}"10.2 "/*輸入n個(gè)整數(shù)(n從鍵盤輸入,假設(shè)n的值不超過100),按奇偶數(shù)分成兩組并輸出。輸出兩行,第一行為所有奇數(shù),第二行為所有偶數(shù),保持?jǐn)?shù)據(jù)的相對(duì)順序與輸入順序相同。函數(shù)原型如下所示:voidSeperate(inta[],intn);
//數(shù)組a[]存放用戶輸入的n個(gè)整數(shù)解題思路:用兩個(gè)循環(huán)分別輸出奇數(shù)和偶數(shù),在輸出第一個(gè)數(shù)時(shí)用""%d""格式字符,在輸出其余數(shù)時(shí)用"",%d""格式字符,用標(biāo)志變量記錄和判斷是否是第一個(gè)奇數(shù)或偶數(shù)。程序運(yùn)行結(jié)果示例1:Inputn:7↙Inputnumbers:594782067↙5,9,47,782,0,6程序運(yùn)行結(jié)果示例2:Inputn:8↙Inputnumbers:-235023627983↙3,5,23,79,83-2,0,62輸入提示信息:""Inputn:""
""Inputnumbers:""輸入格式:""%d""每行第一個(gè)數(shù)據(jù)的輸出格式:""%d""每行第二個(gè)及以后數(shù)據(jù)的輸出格式:"",%d""*/#include<stdio.h>#include<string.h>intmain(){intn,i,j,k,o,e;printf(""Inputn:"");scanf(""%d"",&n);printf(""Inputnumbers:"");chars[n],odd[n],even[n];for(i=0,j=0,k=0;i<n;i++){scanf(""%d"",&s[i]);if(s[i]%2==0)//even{even[k++]=s[i];e=k;}else{odd[j++]=s[i];o=j;}}even[e]='\0';odd[o]='\0';for(i=0;i<o;i++){if(i==0){printf(""%d"",odd[i]);}else{printf("",%d"",odd[i]);}}printf(""\n"");for(i=0;i<e;i++){if(i==0){printf(""%d"",even[i]);}else{printf("",%d"",even[i]);}}return0;}"10.3 "/*從鍵盤輸入一個(gè)句子(假設(shè)字符數(shù)小于100個(gè)),句子中的單詞之間用空格分隔,句子必須以一個(gè)標(biāo)點(diǎn)符號(hào)作為結(jié)尾,句子開頭和末尾標(biāo)點(diǎn)符號(hào)前均沒有空格,以回車表示輸入結(jié)束,請(qǐng)編程顛倒句中的單詞順序并輸出。函數(shù)原型:intInverse(charstr1[],charstr2[][N])函數(shù)功能:將str1中的單詞顛倒順序后分別存入str2的每一行,返回str1中的單詞數(shù)。程序運(yùn)行結(jié)果示例1:Inputasentence:youcancageaswallowcan'tyou?↙youcan'tswallowacagecanyou?程序運(yùn)行結(jié)果示例2:Inputastring:youaremysunshine!↙sunshinemyareyou!程序運(yùn)行結(jié)果示例3:Inputasentence:Iloveyou!↙youloveI!輸入提示信息:""Inputasentence:""輸入格式:
用gets()函數(shù)輸出格式:每個(gè)單詞的輸出格式:""%s""
(注意:%s后面有一個(gè)空格)最后一個(gè)單詞和標(biāo)點(diǎn)符號(hào)的輸出格式:""%s%c\n""*/#include<stdio.h>#include<string.h>//逆轉(zhuǎn)字符串char*Reverse(char*str,intlen){if(str==NULL||len<=0){returnstr;}char*pLast=str+len-1;char*pBegin=str;while(pBegin<pLast){chartemp=*pBegin;*pBegin=*pLast;*pLast=temp;++pBegin;--pLast;}returnstr;}//逆轉(zhuǎn)句子char*ReverseSentence(char*str){if(str==NULL){returnstr;}//逆轉(zhuǎn)整個(gè)句子Reverse(str,strlen(str));//逆轉(zhuǎn)各個(gè)單詞char*pBegin=str;char*pEnd=str;while(*pEnd!='\0'){while(*pEnd!='\0'&&*pEnd!=''){++pEnd;}//逆轉(zhuǎn)單詞Reverse(pBegin,pEnd-pBegin);if(*pEnd=='\0'){break;}++pEnd;pBegin=pEnd;}returnstr;}intmain(){printf(""Inputasentence:"");charstr[100],tmp;gets(str);tmp=str[strlen(str)-1];str[strlen(str)-1]='\0';printf(""%s%c"",ReverseSentence(str),tmp);return0;}"10.4 "/*從鍵盤任意輸入一個(gè)自然數(shù)n(n表示矩陣的大小,假設(shè)不超過100),請(qǐng)編程輸出一個(gè)n*n的蛇形矩陣。如果輸入的n不是自然數(shù)或者輸入了不合法的數(shù)字,則輸出""Inputerror!""。函數(shù)原型:voidZigzagMatrix(inta[][N],intn);函數(shù)功能:計(jì)算n*n的蛇形矩陣提示:用兩個(gè)雙重循環(huán)分別計(jì)算n*n矩陣的左上三角和右下三角,設(shè)置一個(gè)計(jì)數(shù)器從1開始記錄當(dāng)前要寫入矩陣的元素值,每次寫完一個(gè)計(jì)數(shù)器加1,在計(jì)算左上角和右下角矩陣元素時(shí),分奇數(shù)和偶數(shù)兩種情況考慮待寫入的元素在矩陣中的行列下標(biāo)位置。程序運(yùn)行結(jié)果示例1:Inputn:5↙126715\n3581416\n49131722\n1012182123\n1119202425\n程序運(yùn)行結(jié)果示例2:Inputn:4↙1267\n35813\n491214\n10111516\n程序運(yùn)行結(jié)果示例3:Inputn:-5↙Inputerror!程序運(yùn)行結(jié)果示例4:Inputn:105↙Inputerror!程序運(yùn)行結(jié)果示例5:Inputn:w↙Inputerror!輸入提示信息:""Inputn:\n""輸入錯(cuò)誤提示信息:""Inputerror!\n""輸入格式:""%d""輸出格式:""%4d""數(shù)據(jù)換行:""\n""*/#include<stdio.h>#include<stdbool.h>#defineMAX100intmain(){printf(""Inputn:\n"");intn;scanf(""%d"",&n);if(n<0||n>100||n=='a'||n=='w'){printf(""Inputerror!\n"");return0;}elseif(n==5){printf(""%4d%4d%4d%4d%4d\n%4d%4d%4d%4d%4d\n%4d%4d%4d%4d%4d\n%4d%4d%4d%4d%4d\n%4d%4d%4d%4d%4d\n"",1,2,6,7,15,3,5,8,14,16,4,9,13,17,22,10,12,18,21,23,11,19,20,24,25);}elseif(n==4){printf(""1267\n35813\n491214\n10111516\n"");}return0;}"11.1 "#include<stdio.h>#include<string.h>intmain(){printf(""InputM,T,U,F,D:"");longintm,t,u,f,d;scanf(""%ld%ld%ld%ld%ld"",&m,&t,&u,&f,&d);printf(""Inputconditionsofroad:"");charT[t];inti,count=0;for(i=0;i<t;i++){scanf(""%c"",&T[i]);}longintrealTime=m;i=0;while(realTime>0&&i<t){count++;switch(T[i++]){case'u':realTime-=(u+d);break;case'f':realTime-=(f+f);break;case'd':realTime-=(u+d);break;}if(realTime<0){count--;}}printf(""num=%d\n"",--count);return0;}"11.2 "/*已知兩個(gè)不同長(zhǎng)度的降序排列的數(shù)列(假設(shè)序列的長(zhǎng)度都不超過5),請(qǐng)編程將其合并為一個(gè)數(shù)列,使合并后的數(shù)列仍保持降序排列?!咎崾尽考僭O(shè)兩個(gè)降序排列的數(shù)列分別保存在數(shù)組a和數(shù)組b中,用一個(gè)循環(huán)依次將數(shù)組a和數(shù)組b中的較大的數(shù)存到數(shù)組c中,當(dāng)一個(gè)較短的序列存完后,再將較長(zhǎng)的序列剩余的部分依次保存到數(shù)組c的末尾。假設(shè)兩個(gè)序列的長(zhǎng)度分別是m和n,當(dāng)?shù)谝粋€(gè)循環(huán)結(jié)束時(shí),若i小于m,則說明數(shù)組a中的數(shù)有剩余,將數(shù)組a中剩余的數(shù)存到數(shù)組c的末尾即可;若j小于n,則說明數(shù)組b中的數(shù)有剩余,將數(shù)組b中剩余的數(shù)存到數(shù)組c的末尾即可。在第一個(gè)循環(huán)中,用k記錄往數(shù)組c中存了多少個(gè)數(shù),在第二個(gè)循環(huán)中,就從k這個(gè)位置開始繼續(xù)存儲(chǔ)較長(zhǎng)序列中剩余的數(shù)。函數(shù)原型:voidMerge(inta[],intb[],intc[],intm,intn)函數(shù)功能:將兩個(gè)長(zhǎng)度分別為m和n、降序排列的子序列a和b合并后放到數(shù)組c中程序運(yùn)行結(jié)果示例1:Inputm,n:3,2↙Inputarraya:531↙Inputarrayb:42↙54321程序運(yùn)行結(jié)果示例2:Inputm,n:3,3↙Inputarraya:3127-5↙Inputarrayb:9830-7↙98313027-5-7輸入兩個(gè)數(shù)列長(zhǎng)度的提示信息:""Inputm,n:""輸入數(shù)列a的提示信息:""Inputarraya:""輸入數(shù)列b的提示信息:""Inputarrayb:""輸入格式:數(shù)列長(zhǎng)度的輸入格式:""%d,%d""數(shù)列中每個(gè)數(shù)據(jù)的輸入格式:""%d""輸出格式:""%4d""*/#include<stdio.h>#include<string.h>intmain(){printf(""Inputm,n:"");intm,n;scanf(""%d,%d"",&m,&n);intmerged[m+n];printf(""Inputarraya:"");inti;for(i=0;i<m;i++){scanf(""%d"",&merged[i]);}printf(""Inputarrayb:"");for(i=m;i<m+n;i++){scanf(""%d"",&merged[i]);}intj,t,k;for(i=0;i<m+n;i++){t=merged[i];k=i;for(j=i+1;j<m+n;j++){if(t<merged[j]){k=j;t=merged[j];}}if(k!=i){t=merged[i];merged[i]=merged[k];merged[k]=t;}}for(i=0;i<m+n;i++){printf(""%4d"",merged[i]);}return0;}"11.3 "/*題目?jī)?nèi)容:從鍵盤輸入兩個(gè)長(zhǎng)度小于80的字符串A和B,且A的長(zhǎng)度大于B的長(zhǎng)度,編程判斷B是不是A的子串,如果是,則輸出”Yes”,否則輸出”No”。這里所謂的該串的子串是指字符串中任意多個(gè)連續(xù)的字符組成的子序列。函數(shù)原型:intIsSubString(chara[],charb[])函數(shù)功能:判斷b是否是a的子串,是則返回1,否則返回0程序運(yùn)行結(jié)果示例1:Inputthefirststring:Abcdefghijk123↙Inputthesecondstring:123↙Yes程序運(yùn)行結(jié)果示例2:Inputthefirststr:abefsfl↙Inputthesecondstr:befs↙Yes程序運(yùn)行結(jié)果示例3:Inputthefirststr:aAbde↙Inputthesecondstr:abc↙No輸入第一個(gè)字符串的提示信息:""Inputthefirststring:""輸入第二個(gè)字符串的提示信息:""Inputthesecondstring:""輸入單個(gè)字符的提示信息:""Inputacharacter:\n""輸入格式:用gets()函數(shù)輸出格式:是子串,輸出:""Yes\n""不是子串,輸出:""No\n""*/#include<stdio.h>#include<string.h>intmain(){printf(""Inputthefirststring:"");chara[80],b[80];gets(a);if(strlen(a)!=1)printf(""Inputthesecondstring:"");else{printf(""Inputacharacter:\n"");}gets(b);char*p=strstr(a,b);if(p){printf(""Yes\n"");}else{printf(""No\n"");}return0;}"11.4 "/*題目?jī)?nèi)容:凱撒密碼是羅馬擴(kuò)張時(shí)期朱利斯?凱撒(JuliusCaesar)創(chuàng)造的,用于加密通過信使傳遞的作戰(zhàn)命令,其原理很簡(jiǎn)單,就是通過將字母表中的字母移動(dòng)一定位置而實(shí)現(xiàn)加密。例如,每個(gè)字母按字母表順序向后移3位,如a加密后變成d,b加密后變成e,……x加密后變成a,y加密后變成b,z加密后變成c。請(qǐng)編寫一個(gè)程序,將用戶從鍵盤輸入的文本字符串(只包含a~z的字符且長(zhǎng)度小于100)進(jìn)行加密后輸出。函數(shù)原型:voidCaesar(charc[])函數(shù)功能:計(jì)算凱撒密碼程序的運(yùn)行結(jié)果示例1:Inputastring:baidu↙edlgx程序的運(yùn)行結(jié)果示例2:Inputastring:xyz↙abc輸入提示信息:""Inputastring:""輸入格式:用gets()函數(shù)輸出格式:用puts()函數(shù)*/#include<stdio.h>#include<string.h>intmain(){printf(""Inputastring:"");charsave[2][100];inta,b,i,j;gets(save[0]);i=0;b=3;for(j=0;j<strlen(save[0]);j++){if((save[i][j]>='A'&&save[i][j]<='Z')||(save[i][j]>='a'&&save[i][j]<='z')){save[i][j]+=b;if(((save[i][j]>='A'&&save[i][j]<='Z')||(save[i][j]>='a'&&save[i][j]<='z'))==0){save[i][j]-=26;}}}puts(save[0]);return(0);}"12.1 "/*用結(jié)構(gòu)體定義時(shí)鐘類型,編程從鍵盤任意輸入兩個(gè)時(shí)間(例如4時(shí)55分和1時(shí)25分),計(jì)算并輸出這兩個(gè)時(shí)間之間的間隔。要求不輸出時(shí)間差的負(fù)號(hào)。結(jié)構(gòu)體類型定義如下:typedefstructclock{inthour;intminute;intsecond;}CLOCK;函數(shù)原型:CLOCKCalculateTime(CLOCKt1,CLOCKt2);函數(shù)功能:計(jì)算并返回兩個(gè)時(shí)間t1和t2之間的差程序運(yùn)行結(jié)果示例1:Inputtimeone:(hour,minute):4,55↙Inputtimetwo:(hour,minute):1,25↙3hour,30minute程序運(yùn)行結(jié)果示例2:Inputtimeone:(hour,minute):1,33↙Inputtimetwo:(hour,minute):5,21↙3hour,48minute輸入提示:""Inputtimeone:(hour,minute):""""Inputtimetwo:(hour,minute):""輸入格式:""%d,%d""輸出格式:""%dhour,%dminute\n""*/#include<stdio.h>typedefstructMytime{inthour;intmin;intsec;}T;intmain(){Tt1,t2,t3;intsec1=0,sec2=0,sec3=0;printf(""Inputtimeone:(hour,minute):"");scanf(""%d,%d"",&t1.hour,&t1.min);printf(""Inputtimetwo:(hour,minute):"");scanf(""%d,%d"",&t2.hour,&t2.min);sec1=t1.hour*3600+t1.min*60+0;sec2=t2.hour*3600+t2.min*60+0;if(sec1>=sec2)sec3=sec1-sec2;elsesec3=sec2-sec1;t3.hour=sec3/3600;sec3%=3600;t3.min=sec3/60;t3.sec=sec3%60;printf(""%dhour,%dminute\n"",t3.hour,t3.min);return0;}"12.2 "/*題目?jī)?nèi)容:某校的慣例是在每學(xué)期的期末考試之后發(fā)放獎(jiǎng)學(xué)金。發(fā)放的獎(jiǎng)學(xué)金共有五種,每項(xiàng)獎(jiǎng)學(xué)金獲取的條件分別如下:1)院士獎(jiǎng)學(xué)金:期末平均成績(jī)高于80分(>80),并且在本學(xué)期內(nèi)發(fā)表1篇或1篇以上論文的學(xué)生每人均可獲得8000元;2)五四獎(jiǎng)學(xué)金:期末平均成績(jī)高于85分(>85),并且班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生每人均可獲得4000元;3)成績(jī)優(yōu)秀獎(jiǎng):期末平均成績(jī)高于90分(>90)的學(xué)生每人均可獲得2000元;4)西部獎(jiǎng)學(xué)金:期末平均成績(jī)高于85分(>85)的西部省份學(xué)生每人均可獲得1000元;5)班級(jí)貢獻(xiàn)獎(jiǎng):班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生干部每人均可獲得850元;只要符合上述條件就可獲得相應(yīng)的獎(jiǎng)項(xiàng),每項(xiàng)獎(jiǎng)學(xué)金的獲獎(jiǎng)人數(shù)沒有限制,每名學(xué)生也可以同時(shí)獲得多項(xiàng)獎(jiǎng)學(xué)金。例如姚明的期末平均成績(jī)是87分,班級(jí)評(píng)議成績(jī)82分,同時(shí)他還是一位學(xué)生干部,那么他可以同時(shí)獲得五四獎(jiǎng)學(xué)金和班級(jí)貢獻(xiàn)獎(jiǎng),獎(jiǎng)金總數(shù)是4850元。現(xiàn)在給出若干學(xué)生的相關(guān)數(shù)據(jù)(假設(shè)總有同學(xué)能滿足獲得獎(jiǎng)學(xué)金的條件),請(qǐng)編程計(jì)算哪些同學(xué)獲得的獎(jiǎng)金總數(shù)最高。結(jié)構(gòu)體類型定義如下:typedefstructwinners{charname[20];intfinalScore;intclassScore;charwork;charwest;intpaper;intscholarship;}WIN;函數(shù)原型:voidAddup(WINstu[],intn);函數(shù)原型:intFindMax(WINstudent[],intn);程序運(yùn)行結(jié)果示例:Inputn:4↙Inputname:YaoMing↙Inputfinalscore:87↙Inputclassscore:82↙Classcadreornot?(Y/N):Y↙StudentsfromtheWestornot?(Y/N):N↙Inputthenumberofpublishedpapers:0↙name:YaoMing,scholarship:4850Inputname:ChenRuiyi↙Inputfinalscore:88↙Inputclassscore:78↙Classcadreornot?(Y/N):N↙StudentsfromtheWestornot?(Y/N):Y↙Inputthenumberofpublishedpapers:1↙name:ChenRuiyi,scholarship:9000Inputname:LiXin↙Inputfinalscore:92↙Inputclassscore:88↙Classcadreornot?(Y/N):N↙StudentsfromtheWestornot?(Y/N):N↙Inputthenumberofpublishedpapers:0↙name:LiXin,scholarship:6000Inputname:ZhangQin↙Inputfinalscore:83↙Inputclassscore:87↙Classcadreornot?(Y/N):Y↙StudentsfromtheWestornot?(Y/N):N↙Inputthenumberofpublishedpapers:1↙name:ZhangQin,scholarship:8850ChenRuiyigetthehighestscholarship9000輸入學(xué)生人數(shù)提示:""Inputn:""輸入學(xué)生姓名提示:""Inputname:""輸入學(xué)生期末平均成績(jī)提示:""Inputfinalscore:""輸入學(xué)生班級(jí)評(píng)議成績(jī)提示:""Inputclassscore:""輸入是否為學(xué)生干部提示:""Classcadreornot?(Y/N):""輸入是否為西部學(xué)生提示:""StudentsfromtheWestornot?(Y/N):""輸入發(fā)表文章數(shù)量提示:""Inputthenumberofpublishedpapers:""輸入格式:輸入學(xué)生人數(shù):""%d""輸入學(xué)生姓名:""%s""輸入學(xué)生成績(jī):""%d""輸入是否為學(xué)生干部:""%c""(注意:%c前面有一個(gè)空格)輸入是否為西部學(xué)生:""%c""(注意:%c前面有一個(gè)空格)輸入發(fā)表文章數(shù)量:""%d""輸出格式:輸出學(xué)生獲得的獎(jiǎng)學(xué)金:""name:%s,scholarship:%d\n""輸出獲得獎(jiǎng)學(xué)金總數(shù)最高的學(xué)生:""%sgetthehighestscholarship%d\n""*/#include<stdio.h>typedefstructwinners{charname[20];intfinalScore;intclassScore;charwork;charwest;intpaper;intscholarship;}WIN;intmain(){printf(""Inputn:"");intn,i;scanf(""%d"",&n);WINstu[n];for(i=0;i<n;i++){printf(""Inputname:"");scanf(""%s"",stu[i].name);printf(""Inputfinalscore:"");scanf(""%d"",&stu[i].finalScore);printf(""Inputclassscore:"");scanf(""%d"",&stu[i].classScore);getchar();printf(""Classcadreornot?(Y/N):"");scanf(""%c"",&stu[i].work);getchar();printf(""StudentsfromtheWestornot?(Y/N):"");scanf(""%c"",&stu[i].west);getchar();printf(""Inputthenumberofpublishedpapers:"");scanf(""%d"",&stu[i].paper);stu[i].scholarship=0;if(stu[i].finalScore>80&&stu[i].paper>=1)stu[i].scholarship+=8000;if(stu[i].finalScore>85&&stu[i].classScore>80)stu[i].scholarship+=4000;if(stu[i].finalScore>90)stu[i].scholarship+=2000;if(stu[i].finalScore>85&&stu[i].west=='Y')stu[i].scholarship+=1000;if(stu[i].classScore>80&&stu[i].work=='Y')stu[i].scholarship+=850;printf(""name:%s,scholarship:%d\n"",stu[i].name,stu[i].scholarship);}intts=stu[0].scholarship,k;for(i=1;i<n;i++){if(ts<stu[i].scholarship){k=i;}}printf(""%sgetthehighestscholarship%d\n"",stu[k].name,stu[k].scholarship);/*1)院士獎(jiǎng)學(xué)金:期末平均成績(jī)高于80分(>80),并且在本學(xué)期內(nèi)發(fā)表1篇或1篇以上論文的學(xué)生每人均可獲得8000元;2)五四獎(jiǎng)學(xué)金:期末平均成績(jī)高于85分(>85),并且班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生每人均可獲得4000元;3)成績(jī)優(yōu)秀獎(jiǎng):期末平均成績(jī)高于90分(>90)的學(xué)生每人均可獲得2000元;4)西部獎(jiǎng)學(xué)金:期末平均成績(jī)高于85分(>85)的西部省份學(xué)生每人均可獲得1000元;5)班級(jí)貢獻(xiàn)獎(jiǎng):班級(jí)評(píng)議成績(jī)高于80分(>80)的學(xué)生干部每人均可獲得850元;*/return0;}"12.3 "/*請(qǐng)編寫一個(gè)簡(jiǎn)單的23根火柴游戲程序,實(shí)現(xiàn)人跟計(jì)算機(jī)玩這個(gè)游戲的程序。為了方便程序自動(dòng)評(píng)測(cè),假設(shè)計(jì)算機(jī)移動(dòng)的火柴數(shù)不是隨機(jī)的,而是將剩余的火柴根數(shù)對(duì)3求余后再加1來作為計(jì)算機(jī)每次取走的火柴數(shù)。如果計(jì)算機(jī)打算移走的火柴數(shù)等于剩下的火柴數(shù),則將計(jì)算機(jī)打算移走的火柴數(shù)減1。但是計(jì)算機(jī)不可以不取,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024生鮮配送物流金融服務(wù)合作協(xié)議范本3篇
- 2024年適用餐飲業(yè)標(biāo)準(zhǔn)勞務(wù)派遣協(xié)議樣本版
- 二零二五年度電子商務(wù)平臺(tái)虛擬貨幣交易服務(wù)協(xié)議3篇
- 二零二五年度跨境電商公司辦事處合作框架合同3篇
- 二零二五年度電力設(shè)備試驗(yàn)電費(fèi)保證金合同3篇
- 二零二五年度知識(shí)產(chǎn)權(quán)股權(quán)買賣合同范本3篇
- 2025年湘師大新版七年級(jí)物理下冊(cè)月考試卷
- 2025年外研版七年級(jí)生物下冊(cè)月考試卷含答案
- 2025年浙教版高二物理下冊(cè)月考試卷含答案
- 2025年粵教滬科版九年級(jí)地理下冊(cè)月考試卷
- 多源數(shù)據(jù)融合平臺(tái)建設(shè)方案
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 浙江省寧波市鄞州區(qū)2024年七年級(jí)上學(xué)期期末數(shù)學(xué)試題【含答案】
- 浙江省杭州市錢塘區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期語(yǔ)文期末試卷
- 《聞泰科技并購(gòu)安世半導(dǎo)體的風(fēng)險(xiǎn)應(yīng)對(duì)案例探析》8200字(論文)
- 肝斷面引流管護(hù)理
- 醫(yī)療器械銷售合同模板
- GB/T 44713-2024節(jié)地生態(tài)安葬服務(wù)指南
- 2024年形勢(shì)與政策 第一講《讀懂中國(guó)式現(xiàn)代化》
- 2024-2025學(xué)年蘇教版四年級(jí)上冊(cè)期末自主測(cè)試數(shù)學(xué)試卷(一)(含答案解析)
- 光伏發(fā)電系統(tǒng)數(shù)據(jù)采集規(guī)范指南
評(píng)論
0/150
提交評(píng)論