2023年加強版程序設(shè)計答案版_第1頁
2023年加強版程序設(shè)計答案版_第2頁
2023年加強版程序設(shè)計答案版_第3頁
2023年加強版程序設(shè)計答案版_第4頁
2023年加強版程序設(shè)計答案版_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.1題目:請編寫函數(shù)fun,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個字符串(每串的長度不超過N),按順序合并組成一個新的字符串。例如:若字符串?dāng)?shù)組中的M個字符串為{AAAA",“BBBBBB","CC"則合并后的字符串內(nèi)容應(yīng)該是“AAABBBBBBCC"注意:請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語可。inti,j,k=0;for(i=0;i<M;i++)for(j=0;a[i][j]!=’\0’;j++)b[k++]=a[i][j];b[k]=’\0’;1.2題目:題目:請編寫fun函數(shù)程序,從鍵盤輸入某一年,判斷該年是否為閏年。閏年的條件是:(1)能被4整除但不能被100整除。(2)能被400整除。符合任何一個條件就是閏年。輸入年份為整型if((year%4==0&&year%100!=0)||year%400==0)return1;elsereturn0;1.3題目:(待議)題目:編寫函數(shù)fun;其功能是:根據(jù)以下公式求的值,結(jié)果由函數(shù)值帶回。m與n為兩個正整數(shù)且規(guī)定m>n.如“樣張”。P=m!/n!(m-n)!)例如:m=12,n=8時,運營結(jié)果為495000000注意請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容。僅在函數(shù)fun的花括號中填入你編寫的若干語句。(參考百度)floatp;p=1.0*jc(m)/jc(n)/jc(m-n);

returnp;2.1功能:對長度為8個字符的字符串,將8個字符按降序排列。例如:本來的字符串為CEAedcab,排序后輸出為edcbaECAinti,j;chart;for(i=0;i<mum;i++)for(j=i+1;j<num;j++)if(s[i]<s[j]){t=s[i];s[i]=s[j];s[j]=t;}2.2編寫程序,實現(xiàn)矩陣(3行、3列)的轉(zhuǎn)置(即行列互換)。例如,若輸入下面的矩陣:100200300400500600700800900則程序輸出:100400300200500800300600900inti,j,t;for(i=0;i<3;i++)for(j=i+1;j<3;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}3.1題目:編寫函數(shù)fun,其功能是:將a、b兩個兩位正整數(shù)合并成一個新的整數(shù)放在c中。合并的方式是:將a中的十位和個位數(shù)依次放在變量c的千位和十位上,b中的十位和個位數(shù)依次放在變量c的個位和百位上。例如:當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=4251注意:請勿改動主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。*c=b/10+(a%10)*10+(b%10)*100+(a/10)*1000;3.2題目:編寫函數(shù)fun,其功能是:求出1~100之間能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。注意:請勿改動主函教main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。inti,j=0;for(i=1;i<=100;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;4.1題目:編寫通數(shù)fun,其功能是;將s所指字符串中ASCII值為奇數(shù)的字符刪除,剩余字符形成的新串放在t所指數(shù)組中。例如:若s所指字符串中的內(nèi)容為:“ABCDEFG12345",其中字符的ASCII碼值為奇數(shù)字符1的ASCII碼值也為奇數(shù),都應(yīng)當(dāng)刪除,其它依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是:“BDF24"inti,j=0;for(i=0;i<strlen(s);i++)if(s[i]%2==0)t[j++]=s[i];t[j]=0;4,2請編寫一個函數(shù),用來刪除字符串中的所有空格。例如,輸入asdafaaz67 .則輸出為i=0;char*p=str;while(*p){if(*p!=’'){str[i]=*p;i++;}p++;}str[i]='\0';5,1(待議)題目:請編fun函數(shù)寫程序,從鍵盤輸入百分制成績,規(guī)定輸出等級制成績A、B、C、D。

90~100分為A,80~89分為B,60~79分為C,1~59分為D。不考慮小數(shù),輸入為整數(shù),輸出為字符。(參考百度)charfun(intn){charp;if(n==9||n==10)p=’A’;elseif(n==8)p=’B’;elseif(n==6||n==7)p=’C’;elsep=’D’;return(p);}5,2題目:請編寫函數(shù)fun,其功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)不得調(diào)用c語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。例如:若輸入字符串“一1234",則函數(shù)把它轉(zhuǎn)換為整數(shù)值一1234。注意:請勿改動主函教main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。longn=0;intflag=1;if(*p=='-'){p++;flag=-1;}elseif(*p==’+’)p++;while(*p!=’\0’){n=n*10+*p-‘0’;p++;}returnn*flag;6,1請編寫函數(shù)fun,函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容,若數(shù)組中有n個整數(shù),規(guī)定把下標從0~p(含p,p小于等于n-1)的數(shù)組元素平移到數(shù)組的最后。例如,一維數(shù)組中的原始內(nèi)容:1,2,3,4,5,6,7,8,9,10;p的值為3。移動后,一維數(shù)組中的內(nèi)容應(yīng)為:5,6,7,8,9,10,1,2,3,4。inti,j,t;for(i=p+1;i<n;i++)for(j=i;j>i-p-1;j--){t=w[j];w[j]=w[j-1];w[j-1]=t;}6,2功能:編寫函數(shù)求3!+6!+9!+12!+15!+18!+21!inti,j;floatt,s=0;for(i=3;i<=n;i=i+3){t=1;for(j=1:j<=i;j++)t=t*j;s=s+t;}return(s);7,1請編寫函數(shù)fun,其功能是計算并輸出如下多項式的值。

Sn=1+1/1!

+1/2!

+1/3!

+1/4!

+..+1/n!

例如,若主函數(shù)從鍵盤給n

輸入15,則輸出為S=2.718282。doublet,sn=1.0;inti,j;for(i=1;1<=n;i++){t=1.0;for(j=1;j<=i;j++)t*=j;sn+=1.0/t;}returnsn;7,2已知學(xué)生的數(shù)據(jù)由學(xué)號和學(xué)習(xí)成績構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請編寫函數(shù)fun,該函數(shù)的功能是:找出成績最高的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個最高分)。已給出函數(shù)的首部請完畢該函數(shù)。inti;*s=a[0];for(i=0;i<N;i++)if(s->s<a[i].s)*s=a[i];8.1功能,求1到w之間的奇數(shù)之和。(w是大于等于100小于等于1000的整數(shù))intsum=0;inti;for(i=1;i<=w;++i){if(i%2!=0)sum+=i;}returnsum;8.2功能:找出一批正整教中的最大的偶數(shù)。inti,amax=-1;for(i=0;i<n;i++)if(a[i]%2==0)if(a[i]>amax)amax=a[i];returnamax;9.1(仿佛沒法輸出,關(guān)鍵字匹配100%,9分)在鍵盤上輸入一個3行3列矩陣的各個元素的值(值為整數(shù)),然后輸出主對角線元素的積,并在fun()函數(shù)中輸出。intsum;inti,j;sum=1;for(i=0;i<3;i++)sum=sum*a[i][j];returnsum;9.2請編寫函數(shù)fun,其功能是:找出一維整形數(shù)組元素中最大的值及其所在的下標,并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標,inti;*max=a[0];*d=0;for(i=0;i<n;i++)if(*max<a[i]){*max=a[i];*d=i;}10,1題目:編寫的數(shù)fun,其功能是:從字符串中刪除指定的字符。同字母的大、小寫按不同字符解決。例如:若程序執(zhí)行時輸入字符串為"turbocandborlandc++*從鍵盤上輸入字符n,則輸出為"turbocadborladc++"假如輸入的字符在字符串中不存在,則字符串照原樣輸出。inti=0;char*p;p=s;while(*p){if(*p!=c){s[i]=*p;i++;}p++;}s[i]=’\0’;10,2功能:編寫函數(shù)fun,求任一整數(shù)m的n次方。longintx=1;inti:for(i=1;i<=n;i++)x=x*m;returnx;11.1題目:請編函數(shù)fun,其功能是將一個數(shù)字字符串轉(zhuǎn)換成與其面值相同的長整型整數(shù)??烧{(diào)用strlen函數(shù)求字符串的長度。例如:在鍵盤輸入字符串’2345210’,函數(shù)返回長整型數(shù)2345210。longfun(char*s)inti;sum=0,len;len=strlen(s);for(i=0;i<len;i++){sum=sum*10+*s-48;s++;}returnsum;11.2題目:請編寫函數(shù)fun,該函數(shù)的功能是:記錄各年齡段的人數(shù)。N個年齡通過調(diào)用隨機函數(shù)獲得,并放入主函數(shù)的age數(shù)組中。規(guī)定函數(shù)把0~9歲年齡段的人數(shù)放在d[0]中,把10~19歲年齡段的人數(shù)放在d[1]中,把20~29歲年齡段的人數(shù)放在d[2]中,依此類推,把100歲(含100歲)以上年齡的人數(shù)都放在d[10]中。結(jié)果在主函數(shù)中輸出.inti,n=0,fg=1;char*p=str;while(*P){n++;p++;}for(i=0;i<n/2;i++)if(str[i]==str[n-1-i])else{fg=0;break;}returnfg;12.1請編寫函數(shù)fun,該函數(shù)的功能是:求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。inti,j,s=0;for(i=0;i<M;i++)s=s+a[i][0]+a[i][N-1];for(j=0;j<N-1;j++)s=s+a[0][j]+a[M-1][j];returns;12.2功能:對長度為7個字符的字符串,除首、尾字符外,將其余5個字符按ASCII制降序排列。例如:本來的字符串為CEAede,排序后輸出為CadEAa.charch;inti,j;for(i=I;i<6;i++)for(j=i+1;j<6;j++){if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}13.1有一函數(shù):如樣張所示。請編fun函數(shù),x,y均為整型,輸入x值,輸出y值。inty;if(x<0)y=x*x+x-6;elseif(x>=0&&x<=10)y=x*x-5*x+6;elsey=x*x-x-1;returny;13.2求Sn=a+aa+aaa+……+aa…a之值,其中,a代表1到9中的一個數(shù)字。例如:a代表2,則求2+22+222+2222+22222(此時n=5),a和n的值由鍵盤鍵入。intt=a,i,s;for(i=1,s=0;i<=n;i++){t=t*10+a;s=s+t;}returns;14.1功能:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)的個位和百位上,b數(shù)的十位和個位數(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;14.2功能:編寫函數(shù)fun其功能是:根據(jù)整型形參m,計算如下公式的值:y=1+1/3+1/5+1/7+…+1/(2m+1)例如:若m=9,則應(yīng)輸出:2.133256doubley=0;inti;for(i=0;i<=m;i++){y+=1.0/(2*i+1);}return(y);15.1題目:請編寫函數(shù)fun,對長度為7個字符的字符串,除首、尾字符外,將其余5個字符按ASCII碼降序排列。例如:本來的字符串為"CEAedca",排序后輸出為"CedcEAa"。charch;inti,j;for(i=1;i<6;i++)for(j=i+1;j<6;j++){if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;}}15.2功能:對某一正數(shù)的值保存2位小數(shù),并對第三位進行四舍五入。inti;i=(int)(h*1000)%10;if(i>=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;16.1請編寫一個函數(shù)intfun(int*s,intt,int*k),用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指向的存儲單元中。例如:輸入如下整數(shù):876675896101301401980431451777則輸出結(jié)果為6,980。inti;*k=0;for(i=0;i<t;i++)if(s[*k]<s[i])*k=i;returns[*k];16.2功能:從鍵盤輸入一個大于3的整教,調(diào)用函數(shù)fun判斷其是否素數(shù),然后在main函數(shù)中輸出相應(yīng)的結(jié)論信息。例如:7是素數(shù),8不是素數(shù)。請編寫fun區(qū)擻。素數(shù)是僅能被1和自身整除的數(shù)inti;for(i=2;i<n;i++)if(n%i==0)return0;return1;17.1題目:規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:使字符串中尾部的*號不多于n個,若多于n個,則刪除多余的*號!若少于或等于n個則不做任何操作,字符串中間和前面的*號不刪除。例如:字符串中的內(nèi)容為“****A*BC*DEF*******,若n的值為4,刪除后,字符串中的內(nèi)容應(yīng)為"****A*BC*DEF*G****;若n的值為7,則字符串中的內(nèi)容仍為“****A*BC*DEF*G*******”。n的值在主函數(shù)中輸入。編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。inti=0,k=0;char*p,*t;p=t=a;while(*t)t++;t--;while(*t=='*'){k++;t--;}if(k>n){while(*p&&p<t+n+1){a[i]=*p;i++;p++;}a[i]='\0';}17.2題目:用函數(shù)求一個n階方陣右下三角元素的和(涉及副對角線上的元素)。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);18.1功能:用do-while語句求1~100的累計和inti=1,sum=0;do{sum=sum+i;i++;}while(i<=n);returnsum;18.2功能:用輾轉(zhuǎn)相除法求兩個整數(shù)的最大公約數(shù)。intr,t;if(n<m){t=n;n=m;m=t;}r=n%m;while(r!=

溫馨提示

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

評論

0/150

提交評論