廣工anyview的題目和答案_第1頁
廣工anyview的題目和答案_第2頁
廣工anyview的題目和答案_第3頁
廣工anyview的題目和答案_第4頁
廣工anyview的題目和答案_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——廣工anyview的題目和答案Anyview習(xí)題/**********寫一函數(shù)求3個(gè)整數(shù)中最小的數(shù)。**********/intmin(intx,inty,intz)/*返回3個(gè)整數(shù)x,y和z中最小的數(shù)*/{intmin;min=x>y?y:x;if(min>z)min=z;returnmin;}/**********編寫函數(shù),求用1元、5元和10元三種紙幣支付n元錢共有多少種支付法?例如,16元可有6種支付方法:方法12345610元0000115元0123011元16116161**********/intchange(intn){inti,j,k,t=0;for(i=0;i0;i--)str[i]=str[i-1];str[0]=temp;}/**********7.051系統(tǒng)給定外部字符串s和整型數(shù)組c[26](不需要自行定義)。編寫程序,將字符串s中26個(gè)字母(不區(qū)分大小寫)出現(xiàn)的次數(shù)依次統(tǒng)計(jì)到數(shù)組c中。例如,當(dāng)s=“AbcijKaBcdEXyzuvwx〞時(shí),數(shù)組c的26個(gè)元素值依次為:22211000111000000000111211。**********/voidmain()2Anyview習(xí)題{inti,j;for(j=0;j852789741**********/voidinvert(chara[N][N]){inti,j,k;for(i=0;i456789123**********/voidinvertH(chara[N][N]){inttemp,i,j;for(i=0;i654789987**********/voidinvertV(chara[N][N]){inti,j,temp;for(i=0;i753789896**********/voidturningClockwise(chara[N][N]){inti;intflog=1;intt=a[0][N-1];for(i=N-1;i>0;i--)a[0][i]=a[0][i-1];for(i=0;i0;i--)a[i][N-1]=a[i-1][N-1];a[1][N-1]=t;}/**********編寫函數(shù)將一個(gè)NxN的二維數(shù)組的周邊元素“逆時(shí)針〞輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組4Anyview習(xí)題123236456>159789478**********/voidturningAnticlockwise(chara[N][N]){inti;intt=a[N-1][0];for(i=N-1;i>0;i--)a[i][0]=a[i-1][0];for(i=0;i0;i--)a[N-1][i]=a[N-1][i-1];a[N-1][1]=t;}/**********編寫函數(shù)將一個(gè)NxN的二維數(shù)組a的元素按行向右輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組123312456>645789978**********/voidturningRight(chara[N][N]){inti,j,t;for(i=0;i0;j--)a[i][j]=a[i][j-1];a[i][0]=t;}}/**********編寫函數(shù)將一個(gè)NxN的二維數(shù)組a的元素按行向左輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組1232315

Anyview習(xí)題}/**********編寫函數(shù),根據(jù)公式s=1+1/(1+2)+1/(1+2+3)+??1/(1+2+3+?+n)計(jì)算s,并作函數(shù)值返回。例如:若n的值為11時(shí),函數(shù)的值為1.833333。**********/floatfunc(intn){floats=0;intsum,i;if(n==0)returns;for(i=1;in。例如:m=12,n=8時(shí),運(yùn)行結(jié)果為495.000000。**********/11Anyview習(xí)題floatfunc(intm,intn){inti,t,j,k;if(m=eps){a*=i;b*=j;PI+=(a/b);i++,j+=2;}return2*PI;}/**********編寫函數(shù),將數(shù)組s所存字符串中下標(biāo)和ASCII碼均為偶數(shù)的字符,依次存入數(shù)組t中,并構(gòu)成一個(gè)新串。例如,若s中的字符串值為ABCD123456,則t中的串值應(yīng)為246。**********/voidfunc(chars[],chart[]){inti=0;intlen=strlen(s);intj=0;for(;iAnyview習(xí)題數(shù)值返回。**********/intfunc(chars[]){intnum=0,word=0;inti;for(i=0;s[i]!='\\0';i++){if(s[i]!=''word=1;}elseif(s[i]=='')word=0;}returnnum;}/**********假定字符串s中可能含有字符'*'。請(qǐng)編寫函數(shù),將字符串s中前導(dǎo)'*'全部移到字符串的尾部。例如,若s的串值為***A*BC*DEF*G**,移動(dòng)后,串值應(yīng)為A*BC*DEF*G*****。注意:不得調(diào)用C語言提供的字符串函數(shù)。**********/voidfunc(chars[]){inti=0;intt;while(1){if(s[i]!='*'){t=i;break;}i++;}for(i=0;s[i+t]!='\\0';i++)s[i]=s[i+t];while(t--)s[i++]='*';s[i]='\\0';}/**********編寫函數(shù),計(jì)算并返回?cái)?shù)組a中頭n個(gè)16Anyview習(xí)題元素的乘積。**********/longfunc(inta[],intn){inti,chengji=1;for(i=0;i8)p[4]++;if(sc==8)p[3]++;if(sc==7)p[2]++;if(sc==6)p[1]++;if(sc='a'}}intmin(intx,inty,intz)/*返回3個(gè)整數(shù)x,y和z中最小的數(shù)*/{intmin;min=x>y?y:x;if(min>z)min=z;returnmin;}20

Anyview習(xí)題/**********請(qǐng)編寫函數(shù)func(chars[],chart[],intn),由數(shù)組s中長(zhǎng)度為n的字符序列構(gòu)造其逆序列,并存儲(chǔ)在數(shù)組t中。例如,由給定字符序列s=\求得逆序列t=\;由s=\求得t=\。**********/voidfunc(chars[],chart[],intn)/*數(shù)組s的前n個(gè)元素存放給定的字符序列,數(shù)組t的前n個(gè)元素存放s的逆序列。注意:數(shù)組的下標(biāo)從0開始。*/{inti;for(i=0;is1[j])s2[i]=s1[j];}}/**********對(duì)字符串s1,除首、尾字符外,將其余字符按ASCII碼降序排列,組合成一個(gè)新的字符串s2。**********/voidfunc(char*s1,char*s2){inti,j,length;chart;length=strlen(s1);for(i=1;i0;i--)s2[i]=s2[i-1];s2[0]=s1[0];s2[length-1]=s1[length-1];}/**********以字符串s第m(>=0)個(gè)字符開始的所有字符,按升序的次序構(gòu)成字符串t。**********/22Anyview習(xí)題voidsubstr(char*s,intm,char*t)/*s為字符串的起始地址,m>=0,t為新字符串的起始地址,注意:字符串尾字符之后跟隨著一個(gè)終止符‘\\0’,即ASCII碼為0的字符,終止符不屬于字符串。要求:s串不能發(fā)生改變,t串存放新的字符串。*/{inti=m,j=0;for(;s[i]!='\\0';i++)t[j++]=*(s+i);t[j]='\\0';intl=j;for(i=0;it[j])k=j;if(i!=k)tt=t[i],t[i]=t[k],t[k]=tt;}}/**********在字符串s中查找字符c,假使找到,返回字符c首次出現(xiàn)在字符串s中的位置指針;否則,返回空指針NULL。**********/char*match(char*s,charc)/*返回字符在串s中首次出現(xiàn)的位置指針*/{inti=0;char*search=NULL;while(*(s+i)){if(*(s+i)==c){search=s+i;break;}i++;}returnsearch;23Anyview習(xí)題}/*8.030先編寫一個(gè)判斷素?cái)?shù)的函數(shù)。再編寫一個(gè)函數(shù)將一個(gè)偶數(shù)表示為兩個(gè)素?cái)?shù)之和,并返回其中較小的素?cái)?shù)。注:素?cái)?shù)指只能被1和自身整除的正整數(shù)。規(guī)定0,1不是素?cái)?shù)。*/intprime(intn)/*判斷素?cái)?shù),假使是素?cái)?shù)返回1,不是素?cái)?shù)則返回0*/{intk;if(nmonthday[i]){yearday-=monthday[i];i++;}*pmonth=i+1;*pday=yearday;return1;}else{return0;}}/**********請(qǐng)編寫一個(gè)函數(shù)func,通過略去非數(shù)字字符,將字符串s轉(zhuǎn)換為一個(gè)整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。**********/longfunc(char*s)/*s是一個(gè)數(shù)字字符串的地址,函數(shù)返回值為由s含有的數(shù)字字符轉(zhuǎn)換得到的數(shù)(包含正負(fù)數(shù)狀況)*/{inti,k;longnum;num=0;k=1;for(i=0;s[i]!='\\0';i++){if(num==0if(s[i]>='0'}returnnum*k;}25

Anyview習(xí)題/*8.050編寫函數(shù),將字符串中ASCII碼最小的字符放在第一個(gè)字符位置,其余字符依次往后移。*/voidfunc(char*str)/*將字符串str中ASCII碼最小的字符放在第一個(gè)*//*字符位置,其余字符依次往后移。*/{inti,k;chartemp=str[0];for(i=0;str[i]!='\\0';i++)if(str[i]0;i--)str[i]=str[i-1];str[0]=temp;}/*8.060編寫函數(shù)將一個(gè)nxn的二維數(shù)組按“次對(duì)角線〞翻轉(zhuǎn)。例如:翻轉(zhuǎn)前的數(shù)組翻轉(zhuǎn)后的數(shù)組123963456>852789741*/voidinvert(chara[N][N]){inti,j,k;for(i=0;i456789123*/voidinvertH(chara[N][N]){inttemp,i,j;for(i=0;i654789987*/voidinvertV(chara[N][N]){inti,j,temp;for(i=0;i753789896*/voidturningClockwise(chara[N][N]){inti=0,j=0,flag=1;charinitial=a[0][0];while(flag==1){if(j==0elseif(i==N-1elseif(j==N-1else{a[i][j]=a[i][--j];if(i==0flag=0;}}}}/*8.068編寫函數(shù)將一個(gè)NxN的二維數(shù)組的周邊元素“逆時(shí)針〞輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組123236456>159789478*/voidturningAnticlockwise(chara[N][N]){inti;intt=a[N-1][0];for(i=N-1;i>0;i--)a[i][0]=a[i-1][0];for(i=0;i0;i--)a[N-1][i]=a[N-1][i-1];a[N-1][1]=t;}/*8.072編寫函數(shù)將一個(gè)NxN的二維數(shù)組a的元素按行向右輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組123312456>645789978*/voidturningRight(chara[N][N]){inti,j;chart;for(i=0;i0;j--)28Anyview習(xí)題{a[i][j]=a[i][j-1];}a[i][0]=t;}}/*8.075編寫函數(shù)將一個(gè)NxN的二維數(shù)組a的元素按行向左輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組123231456>564789897*/voidturningLeft(chara[N][N]){inti,j;chart;for(i=0;i123789456*/voidturningDown(chara[N][N]){inti,j;chart;for(j=0;j0;i--){if(i==N-1)t=a[i][j];29Anyview習(xí)題a[i][j]=a[i-1][j];}a[i][j]=t;}}/*8.085編寫函數(shù)將一個(gè)NxN的二維數(shù)組a的元素按列向上輪轉(zhuǎn)1位。例如:輪轉(zhuǎn)前的數(shù)組輪轉(zhuǎn)后的數(shù)組123456456>789789123*/voidturningUp(chara[N][N]){inti,j;chart;for(j=0;j0)個(gè)整數(shù)中的最大值。注意:要求在函數(shù)中采用指針(而不是下標(biāo))來30

Anyview習(xí)題處理數(shù)組元素。**********/intfindmax(ints[],intn)/*返回s中n(>0)個(gè)整數(shù)的最大值。注意:要求在函數(shù)中采用指針(而不是下標(biāo))來處理數(shù)組元素。*/{inti,max;for(i=0,max=*(s+0);i0)個(gè)整數(shù),返回在s中相鄰三個(gè)數(shù)的和中的最小值。**********/intmin3adj(ints[],intn)/*數(shù)組s含n(>=3)個(gè)整數(shù),返回在s中相鄰三個(gè)數(shù)的和中的最小值。*/{intsum=*(s+0)+*(s+1)+*(s+2),i=0;for(;i*(s+i)+*(s+i+1)+*(s+i+2))sum=*(s+i)+*(s+i+1)+*(s+i+2);returnsum;}/**********編寫函數(shù),通過指針參數(shù)sum將x和y的和賦給相應(yīng)實(shí)際參數(shù)。例如,若x=134、y=378,則sum的實(shí)參變量被賦值512。**********/voidfunc(intx,inty,int*sum){*sum=x+y;}31Anyview習(xí)題/**********編寫函數(shù),返回指針參數(shù)x和y所指向的變量的值之和。**********/intfunc(int*x,int*y){return(*x+*y);}/**********編寫函數(shù),比較指針參數(shù)x和y分別指向的變量,若前者的值較大,則交換兩者的值,并返回1;否則無須交換,返回0。**********/intfunc(int*x,int*y){intp;if(*x>*y){p=*x,*x=*y,*y=p;return1;}elsereturn0;}/**********假設(shè)指針a指向某數(shù)組中的一個(gè)元素。編寫函數(shù),在從元素*a開始的n個(gè)元素范圍內(nèi),向后查找給定值x,一旦找到值等于x的元素,則返回該元素的序號(hào);若找不到,則返回0。例如,假定a指向的10個(gè)元素依次為5,6,3,0,-4,8,9,-6,8,-7,若x=5,則返回1;若x=8,則返回6;若y=4,則返回0。**********/intfunc(intn,int*a,intx){inti=0;for(;iAnyview習(xí)題{*t=*(s+i-1);while(--n)*(++t)=*(s+(++i)-1);*(++t)='\\0';}/**********編寫函數(shù),通過將s字符串中所有小寫字母轉(zhuǎn)換成大寫字母,構(gòu)造一個(gè)字符串并存儲(chǔ)在t已經(jīng)指向的存儲(chǔ)區(qū)域,但原來的s串不改變。例如,若s字符串為\則構(gòu)造的t串為\STUDENT.〞。**********/voidfunc(char*s,char*t){while(*(s++))if(*(s-1)>='a'else*(t++)=*(s-1);*(t+1)='\\0';}/**********編寫函數(shù),通過將s字符串中所有大寫字母轉(zhuǎn)換成小寫字母,構(gòu)造一個(gè)字符串并存儲(chǔ)在t已經(jīng)指向的存儲(chǔ)區(qū)域,但原來的s串不改變。例如,若s字符串為\則構(gòu)造的t串為\student.〞。**********/voidfunc(char*s,char*t){while(*(s++))if(*(s-1)>='A'else*(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論