C語言程序設(shè)計期末考試及答案.doc_第1頁
C語言程序設(shè)計期末考試及答案.doc_第2頁
C語言程序設(shè)計期末考試及答案.doc_第3頁
C語言程序設(shè)計期末考試及答案.doc_第4頁
C語言程序設(shè)計期末考試及答案.doc_第5頁
免費預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

第一次試驗1. 編寫一個程序,求出給定半徑r的圓的面積和周長,并且輸出計算結(jié)果。其中:r的值由用戶輸入,用浮點型數(shù)據(jù)處理。#include void main( )float PI=3.1415;float r,area,perim;printf(請輸入圓的半徑:n);printf(r=);scanf(%f,&r); /輸入半徑rperim=2*PI*r; /周長=2rarea=PI*r*r; /面積=r2printf(周長:%fn面積:%fn,perim,area); /輸出周長和面積.2. 給一百分制成績,要求輸出成績等級A、B、C、D、E。90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。#include void main() int iNum;printf(請輸入分數(shù):); scanf(%d, &iNum); switch (iNum / 10) case 10: case 9 : printf(學(xué)生成績An);break; case 8 : printf(學(xué)生成績Bn);break; case 7 : printf(學(xué)生成績Cn);break; case 6 : printf(學(xué)生成績Dn);break; default: printf(學(xué)生成績En);break; 3. 輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。#include int main() int p,r,n,m,temp; printf(請輸入兩個正整數(shù)n,m:);/請用空格隔開 scanf(%d%d,&n,&m); if (nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf(它們的最大公約數(shù)為:%dn,n); printf(它們的最小公約數(shù)為:%dn,p/n); return 0; 4. 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。#include#include#include int i,a4;char t;int main() printf(請輸入字符串); for(i=0;i+) scanf(%c,&t); if(t=n)break; else if(t=A&t=a&t=0&t=9)a2+; else a3+; for(i=0;i4;i+) if(i=0) printf(字母的個數(shù)是); else if(i=1) printf(空格的個數(shù)是); else if(i=2) printf(數(shù)字的個數(shù)是); else if(i=3) printf(其它字符的個數(shù)是); printf(%dn,ai); system(pause); return 0;5. 求sn=a+aa+aaa+aa.a(n個a)之值,其中a是一個數(shù)字。例如:2+22+222+2222+22222(此時n=5),n由鍵盤輸入。#includeint main(void) int sum = 0; int sun = 0; int a; int n; int i = 0;printf(請入入a值(整數(shù)):n);printf(a = );scanf(%d, &a);printf(請入入n值:n);printf(n = );scanf(%d, &n); while (in) sum = a + sum * 10; sun += sum; +i;printf(sun = %d n, sun );return 0; 第二次試驗1. 有一分數(shù)序列:求出這個數(shù)列的前20項之和。#includemain() int i,x,y,a; float sum=0; x=2; y=1; for(i=1;i20;i+) sum+=(float)(x)/y; / printf(%d/%dn,x,y); a=x; x=x+y; y=a; printf(%7.5fn,sum); 2. 求一個33矩陣對角線元素之和。#include void main() int a33; int i,j; int sum=0; int sum1=0; / input for( i=0; i=2; i+) for( j=0; j=2; j+) printf (a%d%d:, i+1, j+1); scanf (%d,&aij); printf(n); / sumfor( i=0; i=2; i+) for( j=0; j=2; j+) if(i=j) sum = sum+aij; if(i+j=2) sum1= sum1+aij; /outputprintf (DuiJIao 1: %dn,sum); printf(DuiJIao 2: %dn,sum1); /output matrixprintf(n); for( i=0; i=2; i+) for( j=0; j=2; j+) printf(%d ,aij); printf(n); 依次輸入9個數(shù)輸出兩對角線和3. 將一個數(shù)組中的值按逆序重新存放,例如原來的順序為:8,6,5,4,1。要求改為:1,4,5,6,8。#includevoid main() int i,b10; for(i=0;i-1;i-) printf(%5d, bi); printf(n);4. 有一篇文章,共有3行文字,每行有80個字符。要求分別統(tǒng)計出其中英文大寫字母、小寫字母、數(shù)字、空格、以及其他字符的個數(shù)。#include int main() int i,j,upp,low,dig,spa,oth; char text380; upp=low=dig=spa=oth=0; for (i=0;i3;i+) printf(please input line %d:n,i+1); gets(texti); for (j=0;j=A& textij=a & textij=0 & textij=9) dig+; else if (textij= ) spa+; else oth+; printf(nupper case: %dn,upp); printf(lower case: %dn,low); printf(digit : %dn,dig); printf(space : %dn,spa); printf(other : %dn,oth); return 0; 第三次實驗1. 將字符串computer賦給一個字符數(shù)組,然后從第一個字母開始輸出該串。請用指針實現(xiàn)。#include #include #define MAX_LENGTH 32int main() char strMAX_LENGTH = 0; char *pStr = (char*)&str; /1. 將字符串computer賦給一個字符數(shù)組 strcpy(str, computer); /2. 然后從第一個字母開始間隔地輸出該串 while(*pStr != 0 ) printf(%cn, *pStr); pStr+; return 1;2. 將無符號八進制數(shù)字字符串轉(zhuǎn)換為十進制整數(shù)。例如,輸入的字符串為556,則輸出十進制整數(shù)366。用指針實現(xiàn)。#include void main() char *p, s6;int n=0;p=s;gets(p);while(*p!=0)n=n*8;n=n+(*p-0);p+;printf(%d n,n);3. 編程輸入一行文字,找出其中的大寫字母,小寫字母,空格,數(shù)字,及其他字符的個數(shù),用指針實現(xiàn)。#include#include#includeint main()char str100;int num1,num2,num3,num4;num1=num2=num3=num4=0;gets(str);for(int i=0;istrlen(str);i+)if(islower(stri)num1+;else if(isupper(stri)num2+;else if(isdigit(stri)num3+;else if(stri= )num4+;printf(小寫字母:%dn,num1);printf(大寫字母:%dn,num2); printf(數(shù)字:%dn,num3);printf(空格:%dn,num4); return 0; 第四次實驗1. 寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出是否是素數(shù)的信息。#include #include int prime(int x) int temp,i,k; temp=(int)(sqrt(x); for(i=2;itemp) k=1;return k; void main() int x; int k; scanf(%d,&x); k=prime(x); if(k) printf(%d is primen,x); else printf(%d is not primen,x);2. 寫一函數(shù),使輸入的一個字符串按反序存放,在主函數(shù)中輸入和輸出字符串。# include#include char *fanxu(char str1100) /返回類型int i,j,t;char str2100;strcpy(str2,str1);t=strlen(str1);for(i=0,j=t-1;j-1;i+,j-)str1i=str2j;return str2; int main(int argc, char* argv) char str0100;gets(str0);fanxu(str0);puts(str0); return 0;3. 寫一函數(shù),由實參傳來一個字符串,統(tǒng)計此字符串中字母、數(shù)字、空格和其他字符的個數(shù),在主函數(shù)中輸入字符串及輸出上述的結(jié)果。#include#includeint alph,digit,space,others;void count(char str);void main(void) char text80; printf(n輸入字符串:n); gets(text); printf(字符串是:); puts(text); strcat(text,n); alph=0; digit=0; space=0; others=0; count(text); printf(n%d字母,%d數(shù)字,%d空格,%d其它字符n,alph,digit,space,others);void count(char str) int i; for(i=0;stri!=n;i+) if(stri=a&stri=A&stri=0&stri=9) digit+; else if(stri= ) space+; else others+; 4. 寫一函數(shù),使給定的

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論