2023年萬(wàn)維考試系統(tǒng)C語(yǔ)言題庫(kù)_第1頁(yè)
2023年萬(wàn)維考試系統(tǒng)C語(yǔ)言題庫(kù)_第2頁(yè)
2023年萬(wàn)維考試系統(tǒng)C語(yǔ)言題庫(kù)_第3頁(yè)
2023年萬(wàn)維考試系統(tǒng)C語(yǔ)言題庫(kù)_第4頁(yè)
2023年萬(wàn)維考試系統(tǒng)C語(yǔ)言題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1題(10.0分)題號(hào):390功能:編寫(xiě)函數(shù)求1~100中奇數(shù)的平方和。結(jié)果為166650.000000。答案:----------------------floats=0;inti;for(i=1;i<=n;i=i+2)s=s+i*i;return(s);----------------------第2題(10.0分)題號(hào):320功能:在鍵盤(pán)上輸入一個(gè)3行3列矩陣的各個(gè)元素的值(值為整數(shù)),然后輸出主對(duì)角線元素的積,并在fun()函數(shù)中輸出。答案:----------------------intsum;inti,j;sum=1;for(i=0;i<3;i++)sum=sum*a[i][i];returnsum;----------------------第3題(10.0分)題號(hào):324功能:能計(jì)算從1開(kāi)始到n的自然數(shù)中偶數(shù)的平方的和,n由鍵盤(pán)輸入,并在main()函數(shù)中輸出。(n是偶數(shù))答案:----------------------intsum,i;sum=0;for(i=2;i<=n;i=i+2){sum=sum+i*i;}return(sum);----------------------第4題(10.0分)題號(hào):345功能:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上。例如:當(dāng)a=45,b=12。調(diào)用該函數(shù)后,c=4251。答案:----------------------*c=a/10*1000+a%10*10+b/10+b%10*100;----------------------第5題(10.0分)題號(hào):366功能:求一組數(shù)中大于平均值的數(shù)的個(gè)數(shù)。例如:給定的一組數(shù)為1,3,6,9,4,23,35,67,12,88時(shí),函數(shù)值為3。答案:----------------------inti,k=0;floats=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;returnk;----------------------第6題(10.0分)題號(hào):355功能:對(duì)長(zhǎng)度為8個(gè)字符的字符串,將8個(gè)字符按降序排列。例如:本來(lái)的字符串為CEAedcab,排序后輸出為edcbaECA。答案:----------------------inti,j;chart;for(i=0;i<num;i++)for(j=i+1;j<num;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}----------------------第7題(10.0分)題號(hào):44功能:求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組的值在主函數(shù)中賦予。答案:----------------------ints=0;inti,j;for(i=0;i<M;i++)s=s+a[i][0]+a[i][N-1];for(j=1;j<N-1;j++)s=s+a[0][j]+a[M-1][j];returns;----------------------第8題(10.0分)題號(hào):339功能:判斷整數(shù)x是否是同構(gòu)數(shù)。若是同構(gòu)數(shù),函數(shù)返回1;否則返回0。x的值由主函數(shù)從鍵盤(pán)讀入,規(guī)定不大于100。說(shuō)明:所謂“同構(gòu)數(shù)”是指這樣的數(shù),這個(gè)數(shù)出現(xiàn)在它的平方數(shù)的右邊。例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同構(gòu)數(shù)。答案:----------------------intk;k=x*x;if((k%10==x)||(k%100==x))return1;elsereturn0;----------------------第9題(10.0分)題號(hào):383功能:用函數(shù)實(shí)現(xiàn)字符串的復(fù)制,不允許用strcpy()函數(shù)。答案:----------------------inti;for(i=0;str1[i]!='\0';i++)str2[i]=str1[i];str2[i]='\0';----------------------第10題(10.0分)題號(hào):310功能:計(jì)算并輸出給定整數(shù)n的所有因子之和(不涉及1與自身)。注意:n的值不大于1000。例如:n的值為855時(shí),應(yīng)輸出704。答案:----------------------ints=0,i;for(i=2;i<n;i++)if(n%i==0)s=s+i;returns;----------------------第11題(10.0分)題號(hào):354功能:求小于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求出素?cái)?shù)的個(gè)數(shù)。?答案:----------------------intn=0;inti,j;for(i=2;i<=lim;i++){for(j=2;j<i;j++)if(i%j==0)break;if(j==i)aa[n++]=i;}returnn;----------------------第12題(10.0分)題號(hào):341功能:刪除所有值為y的元素。數(shù)組元素中的值和y的值由主函數(shù)通過(guò)鍵盤(pán)輸入。答案:----------------------inti,j;for(i=0;i<*n;){if(bb[i]==y){for(j=i;j<*n;j++)bb[j]=bb[j+1];*n=*n-1;}elsei++;}----------------------第13題(10.0分)題號(hào):317功能:求出N×M整型數(shù)組的最大元素及其所在的行坐標(biāo)及列坐標(biāo)(假如最大元素不唯一,選擇位置在最前面的一個(gè))。例如:輸入的數(shù)組為:12341561218910112求出的最大數(shù)為18,行坐標(biāo)為2,列坐標(biāo)為1。答案:----------------------intmax,i,j;max=array[0][0];Row=0;Col=0;for(i=0;i<N;i++){for(j=0;j<M;j++)if(max<array[i][j]){max=array[i][j];Row=i;Col=j;}}return(max);----------------------第14題(10.0分)題號(hào):392功能:求一批數(shù)中最大值和最小值的積。答案:----------------------inti,max,min;max=min=a[0];for(i=1;i<n;i++)if(a[i]>max)max=a[i];elseif(a[i]<min)min=a[i];return(max*min);----------------------第15題(10.0分)題號(hào):501題目:從鍵盤(pán)輸入一個(gè)大寫(xiě)字母,規(guī)定改用小寫(xiě)字母輸出。答案:c=c+32;returnc;第16題(10.0分)題號(hào):502題目:用while語(yǔ)句求1~100的累計(jì)和。答案:inti=1,sum=0;while(i<=n){ sum=sum+i;?i++; ?}returnsum;第17題(10.0分)題號(hào):409題目:輸入華氏溫度求攝氏溫度。轉(zhuǎn)換公式為c=5/9(f-32),輸出結(jié)果取兩位小數(shù)。答案:floatn;n=(5.0/9.0)*(m-32);returnn;第18題(10.0分)題號(hào):29功能:對(duì)任意輸入的x,用下式計(jì)算并輸出y的值。5x<10y=0x=10-5x>10答案:intm;if(n<10)m=5;elseif(n==10)m=0;elsem=-5;returnm;或intm;if(n>=10)if(n>10)m=-5;elsem=0;elsem=5;returnm;第19題(10.0分)題號(hào):382功能:給定n個(gè)數(shù)據(jù),求最小值出現(xiàn)的位置(假如最小值出現(xiàn)多次,求出第一次出現(xiàn)的位置即可)。答案:----------------------inti,k;k=0;for(i=1;i<n;i++)if(s[i]<s[k])k=i;return(k);----------------------第20題(10.0分)題號(hào):367功能:找出一批正整數(shù)中的最大的偶數(shù)。答案:----------------------inti,amax=-1;for(i=0;i<n;i++)if(a[i]%2==0)if(a[i]>amax)amax=a[i];returnamax;----------------------第21題(10.0分)題號(hào):384功能:產(chǎn)生20個(gè)[30,120]上的隨機(jī)整數(shù)放入二維數(shù)組a[5][4]中,求每行元素的和。答案:----------------------inti,j;for(i=0;i<5;i++){b[i]=0;for(j=0;j<4;j++)b[i]=b[i]+a[i][j];}----------------------第22題(10.0分)題號(hào):334功能:求給定正整數(shù)n以內(nèi)的素?cái)?shù)之積。(n<28)答案:----------------------longi,k;longs=1;for(i=2;i<=n;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)s=s*i;}returns;----------------------第23題(10.0分)題號(hào):363功能:求一個(gè)給定字符串中的字母的個(gè)數(shù)。答案:----------------------inti,k=0;for(i=0;s[i]!='\0';i++)if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')k++;returnk;----------------------第24題(10.0分)題號(hào):361功能:編寫(xiě)程序,求矩陣(3行3列)與2的乘積例如:輸入下面的矩陣:100200300400500600700800900程序輸出:20040060080010001200140016001800答案:----------------------inti,j;for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=array[i][j]*2;----------------------第25題(10.0分)題號(hào):400功能:編寫(xiě)main程序調(diào)用函數(shù)fact求解從m個(gè)元素選n個(gè)元素的組合數(shù)的個(gè)數(shù)。計(jì)算公式是:組合數(shù)=m!/(n!.(m-n)!)。規(guī)定:m不能小于n,否則應(yīng)有容錯(cuò)解決。說(shuō)明:函數(shù)fact(x)的功能是求x!。答案:----------------------while(m<n){printf("m和n輸入錯(cuò)!請(qǐng)重新輸入:\n");scanf("%d%d",&m,&n);}zhsgs=fact(m)/(fact(n)*fact(m-n));----------------------第26題(10.0分)題號(hào):411功能:對(duì)任意輸入的x,用下式計(jì)算并輸出y的值。-1x<0y=0x=01x>0答案:intm;if(n<0)m=-1;elseif(n==0)m=0;elsem=1;returnm;或intm;if(n>=0)if(n>0)m=1;elsem=0;elsem=-1;returnm;第27題(10.0分)題號(hào):509功能:編寫(xiě)函數(shù)fun其功能是:根據(jù)整型形參m,計(jì)算如下公式的值:y=1+1/3+1/5+1/7+…+1/(2m+1)例如:若m=9,則應(yīng)輸出:2.133256答案:----------------------doubley=1;inti;for(i=1;i<=m;i++){y+=1.0/(2*i+1);}return(y);----------------------第28題(10.0分)題號(hào):394功能:產(chǎn)生20個(gè)[30,120]上的隨機(jī)整數(shù)放入二維數(shù)組a[5][4]中,求其中的最小值。答案:----------------------inti,j,s;s=a[0][0];for(i=0;i<5;i++)for(j=0;j<4;j++)if(s>a[i][j])s=a[i][j];return(s);----------------------第29題(10.0分)題號(hào):330功能:計(jì)算出k以內(nèi)最大的10個(gè)能被13或17整除的自然數(shù)之和。(k〈3000)。答案:----------------------inta=0,b=0;while((k>=2)&&(b<10)){if((k%13==0)||(k%17==0)){a=a+k;b++;}k--;}returna;----------------------第30題(10.0分)題號(hào):364功能:求一個(gè)四位數(shù)的各位數(shù)字的立方和。答案:----------------------intd,s=0;while(n>0){d=n%10;s+=d*d*d;n/=10;}returns;----------------------第31題(10.0分)題號(hào):348功能:從低位開(kāi)始取出長(zhǎng)整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:642。答案:----------------------longsl=10;s/=10;t=s%10;while(s>0){s=s/100;t=s%10*sl+t;sl=sl*10;}----------------------第32題(10.0分)題號(hào):313功能:從鍵盤(pán)為一維整型數(shù)組輸入10個(gè)整數(shù),調(diào)用fun函數(shù)找出其中最小的數(shù),并在main函數(shù)中輸出。答案:----------------------intmin,i;min=x[0];for(i=1;i<n;i++){if(x[i]<min)min=x[i];}returnmin;----------------------第33題(10.0分)題號(hào):391功能:將字符串中的小寫(xiě)字母轉(zhuǎn)換為相應(yīng)的大寫(xiě)字母,其它字符不變。答案:----------------------inti;for(i=0;str[i]!='\0';i++)if(str[i]>='a'&&str[i]<='z')str[i]=str[i]-32;----------------------第34題(10.0分)題號(hào):397功能:編寫(xiě)函數(shù)fun(str,i,n),從字符串str中刪除第i個(gè)字符開(kāi)始的連續(xù)n個(gè)字符(注意:str[0]代表字符串的第一個(gè)字符)。答案:----------------------while(str[i+n-1]){str[i-1]=str[i+n-1];i++;}str[i-1]='\0';----------------------第35題(10.0分)題號(hào):325功能:在鍵盤(pán)上輸入一個(gè)3行3列矩陣的各個(gè)元素的值(值為整數(shù)),然后輸出主對(duì)角線元素的平方和,并在fun()函數(shù)中輸出。答案:----------------------intsum;inti;sum=0;for(i=0;i<3;i++)sum=sum+a[i][i]*a[i][i];returnsum;----------------------第36題(10.0分)題號(hào):388功能:編寫(xiě)函數(shù)判斷一個(gè)整數(shù)能否同時(shí)被3和5整除,若能則返回值為1,否則為0。調(diào)用該函數(shù)求出15~300之間能同時(shí)被3和5整除的數(shù)的個(gè)數(shù)。答案:----------------------if(n%3==0&&n%5==0)return(1);return(0);----------------------第37題(10.0分)題號(hào):399功能:編寫(xiě)程序求無(wú)理數(shù)e的值并輸出。計(jì)算公式為:e=1+1/1!+1/2!+1/3!+......+1/n!當(dāng)1/n!<0.000001時(shí)e=2.718282。答案:----------------------longintj;inti,k;doublee,jc;i=1;e=0.0;jc=1.0;while(jc>=0.000001){e=e+jc;j=1;for(k=1;k<=i;k++)j=j*k;jc=1.0/j;i++;}returne;----------------------第38題(10.0分)題號(hào):312功能:調(diào)用函數(shù)fun判斷一個(gè)三位數(shù)是否"水仙花數(shù)"。在main函數(shù)中從鍵盤(pán)輸入一個(gè)三位數(shù),并輸出判斷結(jié)果。請(qǐng)編寫(xiě)fun函數(shù)。說(shuō)明:所謂"水仙花數(shù)"是指一3位數(shù),其各位數(shù)字立方和等于該數(shù)自身。例如:153是一個(gè)水仙花數(shù),由于153=1+125+27。答案:----------------------intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;elsereturn0;----------------------第39題(10.0分)題號(hào):335功能:求一個(gè)n位自然數(shù)的各位數(shù)字的積。(n是小于10的自然數(shù))答案:----------------------longd,s=1;while(n>0){d=n%10;s*=d;n/=10;}returns;----------------------第40題(10.0分)題號(hào):379功能:給定n個(gè)數(shù)據(jù),求最大值出現(xiàn)的位置(假如最大值出現(xiàn)多次,求出第一次出現(xiàn)的位置即可)。答案:----------------------inti,k;k=0;for(i=1;i<=n;i++)if(s[i]>s[k])k=i;return(k+1);----------------------第41題(10.0分)題號(hào):22功能:從鍵盤(pán)為一維整型數(shù)組輸入10個(gè)整數(shù),調(diào)用fun函數(shù)找出其中最小的數(shù),并在main函數(shù)中輸出。請(qǐng)編寫(xiě)fun函數(shù)。答案:----------------------intmin,i;min=x[0];for(i=1;i<n;i++){if(x[i]<min)min=x[i];}returnmin;----------------------第42題(10.0分)題號(hào):381功能:求一批數(shù)中小于平均值的數(shù)的個(gè)數(shù)。答案:----------------------inti,sum=0,k=0;doubleaverage;for(i=0;i<n;i++)sum=sum+a[i];average=sum*1.0/n;for(i=0;i<n;i++)if(average>a[i])k++;return(k);----------------------第43題(10.0分)題號(hào):352功能:根據(jù)整型形參m,計(jì)算如下公式的值:y=1/2+1/4+1/6+...+1/2m。例如:若m=9,則應(yīng)輸出:1.414484答案:----------------------doubley=0;inti;for(i=1;i<=m;i++){y+=1.0/(2*i);}return(y);----------------------第44題(10.0分)題號(hào):33功能:用do-while語(yǔ)句求1~100的累計(jì)和。答案:inti=1,sum=0;do{sum=sum+i; i++; ?}while(i<=n);returnsum;第45題(10.0分)題號(hào):347功能:把20個(gè)隨機(jī)數(shù)存入一個(gè)數(shù)組,然后輸出該數(shù)組中的最小值。其中擬定最小值的下標(biāo)的操作在fun函數(shù)中實(shí)現(xiàn),請(qǐng)給出該函數(shù)的定義。答案:----------------------inti,min=0;for(i=1;i<size;i++)if(list[min]>list[i])min=i;returnmin;----------------------第46題(10.0分)題號(hào):343功能:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上。例如:當(dāng)a=45,b=12,調(diào)用該函數(shù)后,c=2514。答案:----------------------*c=a/10+a%10*100+b/10*10+b%10*1000;----------------------第47題(10.0分)題號(hào):504功能:編寫(xiě)程序打印如圖1所示圖形。*************************規(guī)定:規(guī)定使用abs()。答案:for(m=-i;m<=i;m++){for(n=0;n<abs(m);n++)printf("");for(n=0;n<7-2*abs(m);n++)printf("*");printf("\n");}第48題(10.0分)題號(hào):365功能:求1到100之間的偶數(shù)之積。答案:----------------------doubley=1;inti;for(i=1;i<=m;i++)if(i%2==0)y*=i;returny;----------------------第49題(10.0分)題號(hào):410功能:編寫(xiě)函數(shù)fun將一個(gè)數(shù)組中的值按逆序存放,并在main()函數(shù)中輸出。例如:本來(lái)存順序?yàn)椋?6,5,4,1。規(guī)定改為:1,4,5,6,8。答案:----------------------inti,t;for(i=0;i<n/2;i++){t=arr[i];arr[i]=arr[n-1-i];arr[n-1-i]=t;}----------------------第50題(10.0分)題號(hào):373功能:用函數(shù)求fibonacci數(shù)列前n項(xiàng)的和。說(shuō)明:fibonacci數(shù)列為數(shù)列的第一項(xiàng)值為1,第二項(xiàng)值也為1,從第三項(xiàng)開(kāi)始,每一項(xiàng)均為其前面相鄰兩項(xiàng)的和。例如:當(dāng)n=28時(shí),運(yùn)營(yíng)結(jié)果:832039答案:----------------------longf,k=f1+f2;inti;for(i=3;i<=28;i++){f=f1+f2;k=k+f;f1=f2;f2=f;}return(k);----------------------第51題(10.0分)題號(hào):378功能:編寫(xiě)函數(shù)用冒泡排序法對(duì)數(shù)組中的數(shù)據(jù)進(jìn)行從小到大的排序。答案:----------------------inti,j,t;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}----------------------第52題(10.0分)題號(hào):323功能:求1到w之間的奇數(shù)之和。(w是大于等于100小于等于1000的整數(shù))答案:----------------------longy=0;inti;for(i=1;i<=w;i++)if(i%2==1)y+=i;returny;----------------------第53題(10.0分)題號(hào):380功能:用輾轉(zhuǎn)相除法求兩個(gè)整數(shù)的最大公約數(shù)。答案:----------------------intr,t;if(n<m){t=n;n=m;m=t;}r=n%m;while(r!=0){n=m;m=r;r=n%m;}return(m);----------------------第54題(10.0分)題號(hào):503題目:分別記錄字符串中字母、數(shù)字、空格和其他字符出現(xiàn)的次數(shù)(字符長(zhǎng)度小于80)。答案:inti;for(i=0;c[i]!='\0';i++)if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))a=a+1;elseif(c[i]>='0'&&c[i]<='9')? num=num+1;elseif(c[i]=='') b=b+1; ?else ?other=other+1;第55題(10.0分)題號(hào):395功能:求n階方陣主、副對(duì)角線上的元素之積。答案:----------------------inti,j;floatt=1;for(i=0;i<N;i++)for(j=0;j<N;j++)if(i==j||i+j==N-1)t=t*arr[i][j];return(t);----------------------第56題(10.0分)題號(hào):318功能:輸入一個(gè)字符串,過(guò)濾此串,只保存串中的字母字符,并記錄新生成串中包含的字母?jìng)€(gè)數(shù)。例如:輸入的字符串為ab234$df4,新生成的串為abdf。答案:----------------------inti,j;for(i=0,j=0;*(ptr+i)!='\0';i++)if(*(ptr+i)<='z'&&*(ptr+i)>='a'||*(ptr+i)<='Z'&&*(ptr+i)>='A'){*(ptr+j)=*(ptr+i);j++;}*(ptr+j)='\0';return(j);----------------------第57題(10.0分)題號(hào):311功能:計(jì)算n門(mén)課程的平均值,計(jì)算結(jié)果作為函數(shù)值返回。例如:若有5門(mén)課程的成績(jī)是:92,76,69,58,88,則函數(shù)的值為76.600000。答案:----------------------inti;floaty=0;for(i=0;i<n;i++)y+=a[i];y=y/n;returny;----------------------第58題(10.0分)題號(hào):358功能:根據(jù)整型形參m,計(jì)算如下公式的值:y=sin(m)*10。例如:若m=9,則應(yīng)輸出:4.121185答案:----------------------doubley=0;y=sin(m)*10;return(y);----------------------第59題(10.0分)題號(hào):23功能:從鍵盤(pán)輸入一個(gè)大于3的整數(shù),調(diào)用函數(shù)fun判斷其是否素?cái)?shù),然后在main函數(shù)中輸出相應(yīng)的結(jié)論信息。例如:7是素?cái)?shù),8不是素?cái)?shù)。請(qǐng)編寫(xiě)fun函數(shù)。素?cái)?shù)是僅能被1和自身整除的數(shù)答案:----------------------inti;intj;j=1;for(i=2;i<n;i++){if(n%i==0)j=0;}returnj;----------------------第60題(10.0分)題號(hào):349功能:從低位開(kāi)始取出長(zhǎng)整型變量s奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如:當(dāng)s中的數(shù)為:7654321時(shí),t中的數(shù)為:7531。答案:----------------------longsl=10;t=s%10;while(s>0){s=s/100;t=s%10*sl+t;sl=sl*10;}----------------------第61題(10.0分)題號(hào):332功能:根據(jù)整型參數(shù)n,計(jì)算如圖公式的值。答案:----------------------doublea=1;inti;for(i=1;i<n;i++)a=1.0/(1+a);returna;----------------------第62題(10.0分)題號(hào):327功能:能計(jì)算從1開(kāi)始到n的自然數(shù)的和,n由鍵盤(pán)輸入,并在main()函數(shù)中輸出。答案:----------------------intsum,i;sum=0;for(i=1;i<=n;i++){sum=sum+i;}return(sum);----------------------第63題(10.0分)題號(hào):351功能:請(qǐng)編一個(gè)函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中賦予。答案:----------------------inti,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]>pp[j])pp[j]=tt[i][j];}----------------------第64題(10.0分)題號(hào):389功能:編寫(xiě)函數(shù)求表達(dá)式的和(n的值由主函數(shù)輸入)。1-1/2+1/3-1/4+......+1/m例如:當(dāng)n=20時(shí),表達(dá)式的值為0.668771。答案:----------------------float(yī)s=0;inti,k=1;for(i=1;i<=n;i++){s=s+k*1.0/i;k=-k;}return(s);----------------------第65題(10.0分)題號(hào):54功能:求1到100之間的偶數(shù)之積。答案:----------------------doubley=1;inti;for(i=1;i<=m;i++)if(i%2==0)y*=i;returny;----------------------第66題(10.0分)題號(hào):353功能:對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按降序排列。例如:本來(lái)的字符串為CEAedca,排序后輸出為CedcEAa。答案:----------------------inti,j;chart;for(i=1;i<num-1;i++)for(j=i+1;j<num-1;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}----------------------第67題(10.0分)題號(hào):328功能:求k?。╧〈13),所求階乘的值作為函數(shù)值返回。(規(guī)定使用遞歸)答案:----------------------if(k>0)return(k*fun(k-1));elseif(k==0)return1L;----------------------第68題(10.0分)題號(hào):346功能:將從鍵盤(pán)上輸入的每個(gè)單詞的第一個(gè)字母轉(zhuǎn)換為大寫(xiě)字母,輸入時(shí)各單詞必須用空格隔開(kāi),用’.’結(jié)束輸入。答案:----------------------if(*c=='')return1;else{if(stat(yī)us&&*c<='z'&&*c>='a')*c+='A'-'a';return0;}----------------------第69題(10.0分)題號(hào):403功能:編寫(xiě)函數(shù)fun,求任一整數(shù)m的n次方。答案:----------------------longintx=1;inti;for(i=1;i<=n;i++)x=x*m;returnx;----------------------第70題(10.0分)題號(hào):387功能:求一批數(shù)中最大值和最小值的差。答案:----------------------inti,max,min;max=min=a[0];for(i=1;i<n;i++)if(a[i]>max)max=a[i];elseif(a[i]<min)min=a[i];return(max-min);----------------------第71題(10.0分)題號(hào):336功能:從字符串中刪除指定的字符。同一字母的大、小寫(xiě)按不同字符解決。例如:若程序執(zhí)行時(shí)輸入字符串為:turbocandborlandc++從鍵盤(pán)上輸入字符:n,則輸出后變?yōu)?turbocadborladc++,假如輸入的字符在字符串中不存在,則字符串照原樣輸出。答案:----------------------char*q=s;for(;*q;q++)if(*q!=c)*(s++)=*q;*s=0;----------------------第72題(10.0分)題號(hào):338功能:編寫(xiě)程序,實(shí)現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)例如:輸入下面的矩陣:100200300400500600700800900程序輸出:100400700200500800300600900答案:----------------------inti,j,t;for(i=0;i<3;i++)for(j=0;j<i;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}----------------------第73題(10.0分)題號(hào):42功能:從字符串s中刪除指定的字符c。答案:----------------------inti,k=0;for(i=0;s[i]!='\0';i++)if(s[i]!=c)s[k++]=s[i];s[k]='\0';----------------------第74題(10.0分)題號(hào):342功能:在鍵盤(pán)上輸入一個(gè)3行3列矩陣的各個(gè)元素的值(值為整數(shù)),然后輸出矩陣第一行與第三行元素之和,并在fun()函數(shù)中輸出。答案:----------------------intsum;inti,j;sum=0;for(i=0;i<3;i+=2)for(j=0;j<3;j++)sum=sum+a[i][j];returnsum;----------------------第75題(10.0分)題號(hào):359功能:實(shí)現(xiàn)兩個(gè)整數(shù)的互換。例如:給a和b分別輸入:60和65,輸入為:a=65b=60答案:----------------------intt;t=*a;*a=*b;*b=t;----------------------第76題(10.0分)題號(hào):374功能:編寫(xiě)函數(shù)實(shí)現(xiàn)兩個(gè)數(shù)據(jù)的互換,在主函數(shù)中輸入任意三個(gè)數(shù)據(jù),調(diào)用函數(shù)對(duì)這三個(gè)數(shù)據(jù)從大到小排序。答案:----------------------intk;k=*a;*a=*b;*b=k;----------------------第77題(10.0分)題號(hào):356功能:求大于lim(lim小于100的整數(shù))并且小于100的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求出素?cái)?shù)的個(gè)數(shù)。答案:----------------------intn=0;inti,j;for(i=lim;i<=100;i++){for(j=2;j<i;j++)if(i%j==0)break;if(j==i)aa[n++]=i;}returnn;----------------------第78題(10.0分)題號(hào):53功能:求一個(gè)四位數(shù)的各位數(shù)字的立方和答案:----------------------intd,k,s=0;while(n>0){d=n%10;s+=d*d*d;n/=10;}returns;----------------------第79題(10.0分)題號(hào):322功能:判斷一個(gè)整數(shù)w的各位數(shù)字平方之和能否被5整除,可以被5整除則返回1,否則返回0。答案:----------------------intk,s=0;do{s=s+(w%10)*(w%10);w=w/10;}while(w!=0);if(s%5==0)k=1;elsek=0;return(k);----------------------第80題(10.0分)題號(hào):326功能:求一個(gè)大于10的n位整數(shù)的后n-1位的數(shù),并作為函數(shù)值返回。答案:----------------------intn=0;inti=1;while(w>10){n=n+i*(w%10);w/=10;i*=10;}returnn;----------------------第81題(10.0分)題號(hào):321功能:編寫(xiě)函數(shù)fun其功能是:根據(jù)整型形參m,計(jì)算如下公式的值:y=1/2!+1/4!+…+1/m!(m是偶數(shù))答案:doubley=0.0;inti,j;doubles=1;for(i=2;i<=m;i+=2){for(j=i-1;j<=i;j++)s=s*j;y=y+1.0/s;}returny;第82題(10.0分)題號(hào):337功能:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的百位和個(gè)位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上。例如:當(dāng)a=45,b=12。調(diào)用該函數(shù)后,c=2415。答案:----------------------*c=a/10*100+a%10+b/10*10+b%10*1000;----------------------第83題(10.0分)題號(hào):396功能:編寫(xiě)函數(shù)fun對(duì)主程序中用戶輸入的具有10個(gè)數(shù)據(jù)的數(shù)組a按由大到小排序,并在主程序中輸出排序結(jié)果。答案:----------------------intk,j,t;for(k=0;k<n-1;k++)for(j=k+1;j<n;j++)if(array[k]<array[j]){t=array[k];array[k]=array[j];array[j]=t;}----------------------第84題(10.0分)題號(hào):407功能:編寫(xiě)函數(shù)fun求sum=d+dd+ddd+……+dd...d(n個(gè)d),其中d為1-9的數(shù)字。例如:3+33+333+3333+33333(此時(shí)d=3,n=5),d和n在主函數(shù)中輸入。答案:----------------------longints=0,t=0;inti;for(i=1;i<=n;i++){t=t+d;s=s+t;d=d*10;}returns;----------------------第85題(10.0分)題號(hào):50功能:求出菲波那契數(shù)列的前一項(xiàng)與后一項(xiàng)之比的極限的近似值。例如:當(dāng)誤差為0.0001時(shí),函數(shù)值為0.618056。答案:----------------------floatf1=1,f2=1,f3;floatr1=2,r2;do{r2=r1;r1=f1/f2;f3=f1+f2;f1=f2;f2=f3;}while(fabs(r1-r2)>1e-4);returnr1;----------------------第86題(10.0分)題號(hào):372題目:用函數(shù)求一個(gè)N階方陣右下三角元素的和(涉及副對(duì)角線上的元素)。答案:----------------------inti,j,k=0;for(i=0;i<N;i++)for(j=N-1-i;j<N;j++)k=k+a[i][j];return(k);----------------------第87題(10.0分)題號(hào):401功能:若x、y為奇數(shù),求x到y之間的奇數(shù)和;若x、y為偶數(shù),則求x到y(tǒng)之間的偶數(shù)和。答案:----------------------inti,s=0;for(i=x;i<=y(tǒng);i+=2)s=s+i;returns;----------------------第88題(10.0分)題號(hào):398功能:編寫(xiě)函數(shù)fun求s=1^k+2^k+3^k+......+N^k的值,(1的K次方到N的K次方的累加和)。答案:----------------------longpower,sum=0;inti,j;for(i=1;i<=n;i++){power=i;for(j=1;j<k;j++)power*=i;sum+=power;}returnsum;----------------------第89題(10.0分)題號(hào):315功能:將主函數(shù)中輸入的字符串反序存放。例如:輸入字符串“abcdefg”,則應(yīng)輸出“gfedcba”。答案:----------------------inti,j;charc;for(i=0,j=n-1;i<j;i++,j--)/*或者for(i=0,j=n-1;i<n/2;i++,j--)*/{c=*(str+i);*(str+i)=*(str+j);*(str+j)=c;}----------------------第90題(10.0分)題號(hào):329功能:對(duì)某一正數(shù)的值保存2位小數(shù),并對(duì)第三位進(jìn)行四舍五入。答案:----------------------inti;i=(int)(h*1000)%10;if(i>=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;----------------------第91題(10.0分)題號(hào):333功能:計(jì)算并輸出給定整數(shù)的所有因子之積(涉及自身)。規(guī)定這個(gè)整數(shù)的值不大于50。答案:----------------------longs=1,i;for(i=2;i<=n;i++)if(n%i==0)s=s*i;returns;----------------------第92題(10.0分)題號(hào):62功能:求5行5列矩陣的主、副對(duì)角線上元素之和。注意,兩條對(duì)角線相交的元素只加一次。例如:主函數(shù)中給出的矩陣的兩條對(duì)角線的和為45。答案:----------------------ints=0;inti,j;for(i=0;i<M;i++)s=s+a[i][i]+a[i][M-1-i];s=s-a[(M-1)/2][(M-1)/2];returns;----------------------第93題(10.0分)題號(hào):375功能:從鍵盤(pán)上輸入任意實(shí)數(shù),求出其所相應(yīng)的函數(shù)值。z=e的x次冪(x>10)z=log(x+3)(x>-3)z=sin(x)/((cos(x)+4)答案:----------------------doublez;if(x>10)z=exp(x);elseif(x>-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);return(z);----------------------第94題(10.0分)題號(hào):452功能:有一個(gè)一維數(shù)組score,內(nèi)放10個(gè)學(xué)生的成績(jī),用一個(gè)函數(shù)來(lái)求平均成績(jī)。例如:假如10個(gè)學(xué)生的成績(jī)分別為92,87,68,56,92,84,70,65,90,60則平均成績(jī)?yōu)椋?6.400000答案:----------------------inti;float(yī)aver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;returnaver;----------------------第95題(10.0分)題號(hào):377功能:編寫(xiě)函數(shù)用選擇排序法對(duì)數(shù)組中的數(shù)據(jù)進(jìn)行從小到大的排序。答案:----------------------inti,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(a[k]>a[j])k=j;if(k!=i){t=a[i];a[i]=a[k];a[k]=t;}}----------------------第96題(10.0分)題號(hào):357功能:根據(jù)整型形參m,計(jì)算如下公式的值:y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)例如:若m=9,則應(yīng)輸出:1.168229答案:----------------------doubley=0;inti;for(i=0;i<=m;i++){y+=1.0/(i+5);}return(y);----------------------第97題(10.0分)題號(hào):56功能:找出一批正整數(shù)中的最大的偶數(shù)。答案:----------------------inti,amax=-1;for(i=0;i<n;i++)if(a[i]%2==0)if(a[i]>amax)amax=a[i];returnamax;----------------------第98題(10.0分)題號(hào):319功能:判斷m是否為素?cái)?shù)。答案:----------------------inti,k=1;if(m<=1)k=0;for(i=2;i<m;i++)if(m%i==0)k=0;returnk;----------------------第99題(10.0分)題號(hào):368功能:求一分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8,21/13…的前n項(xiàng)之和。說(shuō)明:每一分?jǐn)?shù)的分母是前兩項(xiàng)的分母之和,每一分?jǐn)?shù)的分子是前兩項(xiàng)的分子之和例如:求前20項(xiàng)之和的值為32.660259。答案:----------------------inti;floatf1=1,f2=1,f3,s=0;for(i=1;i<=n;i++){f3=f1+f2;f1=f2;f2=f3;s=s+f2/f1;}returns;----------------------第100題(10.0分)題號(hào):316功能:記錄出若干個(gè)學(xué)生的平均成績(jī),最高分以及得最高分的人數(shù)。例如:輸入10名學(xué)生的成績(jī)分別為92,87,68,56,92,84,67,75,92,66,則輸出平均成績(jī)?yōu)?7.9,最高分為92,得最高分的人數(shù)為3人。答案:----------------------inti;floatsum=0,ave;Max=array[0];for(i=0;i<n;i++){if(Max<array[i])Max=array[i];sum=sum+array[i];}ave=sum/n;for(i=0;i<n;i++)if(array[i]==Max)J++;return(ave);----------------------第101題(10.0分)題號(hào):331功能:找出一個(gè)大于給定整數(shù)且緊隨這個(gè)整數(shù)的素?cái)?shù),并作為函數(shù)值返回。答案:----------------------inti,k;for(i=n+1;;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)return(i);}----------------------第102題(10.0分)題號(hào):362功能:求給定正整數(shù)m以內(nèi)的素?cái)?shù)之和。例如:當(dāng)m=20時(shí),函數(shù)值為77。答案:----------------------inti,k,s=0;for(i=2;i<=m;i++){for(k=2;k<i;k++)if(i%k==0)break;if(k==i)s=s+i;}returns;----------------------第103題(10.0分)題號(hào):360功能:把20個(gè)隨機(jī)數(shù)存入一個(gè)數(shù)組,然后輸出該數(shù)組中的最大值。答案:----------------------inti,max=0;for(i=1;i<size;i++)if(list[max]<list[i])max=i;returnmax;----------------------第104題(10.0分)題號(hào):37功能:輸入2個(gè)學(xué)生3門(mén)課的成績(jī),計(jì)算學(xué)生成績(jī)平均分,課程平均分和最高分.例如:輸入2名學(xué)生3門(mén)課的成績(jī)分別為92,87,68,56,92,84則學(xué)生1平均分:82.33學(xué)生2平均分:77.33課程1平均分:74.00課程2平均分:89.50課程3平均分:76.00最高分為:92答案:?inti,j; floatsum;for(i=0;i<2;i++)/*計(jì)算第i個(gè)學(xué)生平均分*/ { sum=0;for(j=0;j<3;j++)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論