c語言程序設(shè)計試題答案_第1頁
c語言程序設(shè)計試題答案_第2頁
c語言程序設(shè)計試題答案_第3頁
c語言程序設(shè)計試題答案_第4頁
c語言程序設(shè)計試題答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE4習(xí)題7選擇題。(1)下列對字符串的定義中,錯誤的是:A。A)charstr[7]="FORTRAN";B)charstr[]="FORTRAN";C)char*str="FORTRAN";D)charstr[]={'F','O','R','T','R','A','N',0};(2)以下程序段的輸出結(jié)果是:____D_________chara[]="ABCDE";char*p=NULL;for(p=a;p<a+5;p++){ printf("%s\n",p);}A)ABCDE B)A C)E D)ABCDE B D BCDE C C CDE D B DE E A E(3)下列程序是對字符串的相關(guān)操作,正確的是____D____。A)#include<stdio.h>main(){ staticchara[5];a="abcde";printf("%s\n",a);}B)#include<stdio.h>main(){ staticchara[7]="goodbye!"; printf("%s\n",a);}C)#include<stdio.h>main(){ chara[5]="abcde"; printf("%s\n",a);}D)#include<stdio.h>main(){ staticchara[]="abcde"; printf("%s\n",a);}(4)閱讀下列函數(shù),函數(shù)功能為___A_____。voidExchange(int*p1,int*p2){ intp; p=*p1; *p1=*p2; *p2=p;}A)交換*p1和*p2的值 B)正確,但無法改變*p1和*p2的值C)交換*p1和*p2的地址 D)可能造成系統(tǒng)故障(5)設(shè)有語句:intarray[3][4];則在下面幾種引用下標為i和j的數(shù)組元素的方法中,不正確的引用方式是:___D_____。A)array[i][j] B)*(*(array+i)+j)C)*(array[i]+j) D)*(array+i*4+j)閱讀下列程序,寫出運行結(jié)果。(1)#include<stdio.h>main(){ staticintx[]={1,2,3}; ints,i,*p=NULL; s=1; p=x; for(i=0;i<3;i++) { s*=*(p+i); } printf("%d\n",s);}答案:6(2)#include<stdio.h>main(){ inta[]={1,2,3,4,5}; int*p=NULL; p=a; printf("%d,",*p); printf("%d,",*(++p)); printf("%d,",*++p); printf("%d,",*(p--)); printf("%d,",*p++); printf("%d,",*p); printf("%d,",++(*p)); printf("%d,",*p);}答案:1,2,3,3,2,3,4,4,(3)#include<stdio.h>charb[]="program";char*a="PROGRAM";main(){ inti=0;voidswap(inta[],intb[],intn){ inttemp; for(inti=0;i<n;i++){ temp=a[i]; a[i]=b[i]; b[i]=temp; }}任意從鍵盤輸入10個整數(shù),用函數(shù)編程實現(xiàn)計算其中的最大值和最小值,并返回它們所在數(shù)組中的位置。[提示:參考例7.3,用指針變量做函數(shù)參數(shù),得到最大值和最小值在數(shù)組中的位置。]答案:voidMaxAndMin(int*a,intn,int*pMaxIndex,int*pMinIndex){ *pMaxIndex=*pMinIndex=0; for(inti=0;i<n;i++){ if(a[*pMaxIndex]<a[i]){ *pMaxIndex=i; } if(a[*pMinIndex]>a[i]){ *pMinIndex=i; } }}不用strcat函數(shù)編程實現(xiàn)字符串連接函數(shù)strcat的功能,將字符串t連接到字符串s的尾部。[提示:參考例7.5,用i和j分別作為字符數(shù)組s和字符數(shù)組t的下標,先將i和j同時初始化為0,然后移動i使其位于字符s的尾部即字符串結(jié)束標志處,再將字符數(shù)組t中的字符依次拷貝到字符數(shù)組s中。]答案:voidstrcat(char*s,char*t){ while(*s)s++; while(*s++=*t++);}編程從鍵盤輸入一個字符串,將其字符順序顛倒后重新存放,并輸出這個字符串。答案:#include<stdio.h>#include<string.h>intmain(){ chars[100]={0}; scanf("%s",s); intstart=0; intend=strlen(s)-1; for(;start<end;start++,end--){ inttemp=s[start]; s[start]=s[end]; s[end]=temp; } printf("%s\n",s);}*編程判斷輸入的一串字符是否為“回文”。所謂“回文”就是指順讀和倒讀都一樣的字符串,例如"level"、"ABCCBA"都是回文。[提示:由題意可知,回文就是一個對稱的字符串,利用這一特點可采用如下算法進行判斷:(1)設(shè)置兩個指針pStart和pEnd,讓pStart指向字符串首部,讓pEnd指向字符串尾部;(2)利用循環(huán)從字符串兩邊對指針所指字符進行比較,當(dāng)對應(yīng)的兩字符相等且兩指針未超越對方時,使指針pStart向前移動一個字符位置即加1,使指針pEnd向后移動一個字符位置即減1,一旦發(fā)現(xiàn)對應(yīng)的兩字符不等或兩指針以互相超越(不可能是回文),則立即停止循環(huán);(3)根據(jù)退出循環(huán)時兩指針的位置,判斷字符串是否為回文。]答案:#include<stdio.h>#include<string.h>intmain(){ chars[100]={0}; scanf("%s",s); intstart=0; intend=strlen(s)-1; intflag=1; for(;start<end;start++,end--){ if(s[start]!=s[end]){ flag=0; break; } } printf("%s\n",flag?"YES":"NO");}*編寫一個能對任意m×n的矩陣進行轉(zhuǎn)置的函數(shù)Transpose。[提示:參考例7.9,用指針變量做函數(shù)參數(shù)編程實現(xiàn)。]答案:#include<stdio.h>voidTranspose(int*arrDest,int*arrSource,intm,intn){ for(inti=0;i<m;i++){ for(intj=0;j<n;j++){ *(arrDest+m*j+i)=*(arrSource+n*i+j); } }}intmain(){ ints[3][4]= { 0,1,2,3, 4,5,6,7, 8,9,10,11, }; intt[4][3]; Transpose(&t[0][0],&s[0][0],3,4); for(inti=0;i<4;i++){ for(intj=0;j<3;j++){ printf("%4d",t[i][j]); } printf("\n"); }}*用指針數(shù)組編程實現(xiàn):任意從鍵盤輸入一個數(shù)字表示的月份值n,程序輸出該月份的英文表示,若n不在1~12之間,則輸出“Illegalmonth”。答案:#include<stdio.h>intmain(){ char*months[]={ "January","February","March","April","May","June", "July","August","September","October","N

溫馨提示

  • 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

提交評論