C語言例題及答案_第1頁
C語言例題及答案_第2頁
C語言例題及答案_第3頁
C語言例題及答案_第4頁
C語言例題及答案_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、作業(yè)一一、求一個任意邊長的矩形面積。#in elude void mai n()int w,h,sum;sea nf(%d%d,&w,&h);sum=w*h;prin tf(area=%dn,sum);二、求一個任意半徑的圓的面積及周長。#defi ne PI#in clude void mai n()float r,area,c;sca nf(%f,&r);area二Pl*r*r;c=2*PI*r;prin tf(area=%fn circle二fn,area,c);三、已知:w=5, y=4, z=2, 求表達式:w*y/z的值,并輸出#in clude void mai n() int

2、w,y,z,r;w=5;y=4;z=2;r=w*y/z;prin tf(%5d,r);作業(yè)二一、從鍵盤上輸入三個數(shù),求出其中的最大值,并輸出#in elude void mai n()int a,b,c,max;sea nf(%d%d%d, &a,&b,& c);max二a;if(maxb) max=b;if(maxc) max=c;prin tf(max=%dn,max);30*180)二、求 sin30 0。+sin60 0+cos3O0+cos6O0之和。(注意:#in clude #defi ne PI #in clude void mai n()float a,b,sum;a=30*

3、PI/180;b=60*PI/180;sum=s in( a)+s in( b)+cos(a)+cos(60);prin tf(total=%fn,sum);xy,否則輸出:#in clude void mai n()int x,y;sca nf(%d,%d, &x, &y);if(xy)prin tf(xyn);elseprin tf(xyn);作業(yè)三一、輸入a、b、c三個值,按從小到大排序輸出。#in clude void mai n() int a,b,c,t;scanf(%d%d%d,&a,&b,&c); if(ab) t=b;b=a;a=t; if(ac) t=a; a=c;c=t;

4、 if(bc)t=b;b=c;c=t; printf(%3d%3d%3dn,a,b,c);.二、求自然數(shù)110之和。#include void main()int i,sum; i=1;sum=0;while(i=10)sum=sum+i;i+;printf(sum=%dn,sum);求奇數(shù)之和以及偶數(shù)之三、輸入 10 個整數(shù),統(tǒng)計出正數(shù)之和以及負數(shù)之和和)#include void main()int sum1=0,sum2=0,i,x;i=1;while(i=10) scanf(%d,&x);if(x%2=0)sum1=sum1+x;elsesum2=sum2+x;i+;printf(su

5、m1=%dnsum2=%dn,sum1,sum2);作業(yè)四輸入一個06的整數(shù),轉(zhuǎn)換成星期輸出#in elude mai n() int a;sea nf(%d, &a);switch(a)case 0: prin tf(S un day);break;case 1: prin tf(Mo nday);break;case 2: prin tf(Tuesday);break;case 3: prin tf(Wed nesday);break;case 4: prin tf(Thursday);break;case 5: prin tf(Friday);break;case 6: prin tf(

6、saturday);break;default: pr in tf(I am are wron g. n);.二、輸入一個整數(shù),將各位數(shù)字反轉(zhuǎn)后輸出。女口:輸入365,則輸出顯示為563#in clude void mai n() int x,r;sea nf(%d, &x);prin tf(eon ver is:);while(x!=0) r=x%10;prin tf(%d,r);x=x/10;prin tf(n);三、輸入一個整數(shù),求出它的所有因子#in clude void mai n()int x,i;sca nf(%d, &x);for(i=1;i=x;i+)if(x%i=0)pri

7、n tf(%3d,i);作業(yè)五一、 求100200之間的素數(shù)。#in clude #include void main()int j=0,x,n,i;for(x=100;x=200;x+)n=sqrt(x);for(i=2;in)printf(%5d,x);j+;if(j%5=0)printf(n);9X 9乘法表二、 編程輸出三角形的#include void main()int i,j;for(i=1;i10;i+) for(j=1;j=i;j+) printf(%d*%d=%d ,i,j,i*j);printf(n);三、 求任意二個數(shù)的最大公約數(shù)。 #include main() in

8、t a,b,m,n,q; scanf(%d%d,&m,&n);a=m; b=n; if(ab) int z;z=a;a=b;b=z; do q=b%a;b=a;a=q;while(q!=0);prin tf(%dn,b);作業(yè)六一、利用循環(huán)語句求1 1 -(直到第100項的和)3572n 1#in elude void mai n() int i,t=1;float s=1,p=0,n=1;for(i=1;iv=100;i+) P=P+s;n=n+2;t=-t;s=t/ n;pri ntf(%fn,p);5二、編寫求S= n! on 1#in elude void mai n() int x,

9、y=0, n,i;for(n=1; n=5;n+) x=1;for(i=1;i 二n ;i+)x=x*i;y=y+x;prin tf(%dn,y);三、 利用公式求cosx的近似值(精度為10-6):#in elude #in clude void mai n() float n=1,t=1,pi=0,s=1,x,i=1;sca nf(%f, &x);while(fabs(t)=1e-6) pi+=t;n=n *i*(i+1);s=-s*x*x;i+;t=s/ n;prin tf(%f,pi);作業(yè)七#include void main(void) int a10,i,j,t;for(i=0;

10、i10;i+) scanf(%d,&ai);for(i=0;i9;i+)for(j=0;jaj+1) t=aj;aj=aj+1;aj+1=t;for(i=0;i10;i+) printf(%6d,ai);printf(n);二、輸入 10 個學生的一門課成績,用一維數(shù)組存放其成績,統(tǒng)計并輸出不及 格人數(shù)及其百分比。#include void main(void) int i,count=0;float score10,percent;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i10;i+)if(scorei60)count+;percent=(float)cou

11、nt/10;printf(%d,%,count,percent);三、編程實現(xiàn) N 階方陣轉(zhuǎn)置。#include void main() int a33,b33,i,j;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j3;j+)bji=aij;printf(n);for(i=0;i3;i+) for(j=0;j3;j+)prin tf(%4d,bij);prin tf(n);作業(yè)八一、把輸入的一個字符串按逆序重新排序其字符,并輸出。#in elude #in elude void mai n() char a8

12、0,k;int i,j;gets(a);for(i=0,j=strle n( a)-1;ij;i+,j-) k=ai;ai=aj;aj=k;puts(a);二、從鍵盤輸入一個字符串。要求分別統(tǒng)計出其中英文大寫字母、小寫字母、數(shù)字、空格、以及其它字符的個數(shù)#in clude void main() int i,a=0,b=0,c=0,d=0,e=0;char q20;gets(q);for(i=0;qi!=0;i+)if(qi=0&qi=a&qi=A&qi=Z)c+;else if(qi= )d+;else e+;printf(%3d%4d%3d%3d%3d,a,b,c,d,e);三、輸入五個英

13、文單詞,請找出它們之中按字典排序法排在最前的一個詞#include #include void main() char a530,b30;int i,j,k;for(i=0;i5;i+)gets(ai);for(i=0;i5;i+) k=i;strcpy(b,ai);for(j=i+1;j5;j+)if(strcmp(aj,b)0) k=j;strcpy(b,aj);if(k!=i) strcpy(b,ai);strcpy(ai,ak);strcpy(ak,b);puts(ai);prin tf(n);作業(yè)九一、編寫一函數(shù),將字符串中的小寫字母轉(zhuǎn)換為大寫字母,主函數(shù)輸入字符串并輸出結(jié)果。#in

14、 clude char cha nge (char a) int i;for(i=0;ai!=0;i+)if(ai=a&ai=z)ai=ai-32;void mai n() char b80;gets(b);cha nge(b);puts(b);二、編寫一函數(shù)求N!在主函數(shù)中輸入N,調(diào)用函數(shù)求N!,輸出結(jié)果。#in clude int sum(i nt n)int i,pi=1;for(i=1;i 二n ;i+)pi=pi*i;return(pi);void mai n() int p=0,n;sca nf(%d,&n);p=su m(n);prin tf(%dn,p);三、編寫一個函數(shù),求二

15、維數(shù)組所有元素的和,要求二維數(shù)組的行、列以及數(shù)組通過函數(shù)參數(shù)傳遞,并通過主函數(shù)調(diào)用求2行3列的數(shù)組的所有元素之和。#in clude int nu m(i nt a23, i nt n ,i nt m) int sum=O,i,j;for(i=0;i n;i+)for(j=0;jm;j+)sum=sum+aij;retur n(sum);void mai n()int a23,i,j;int p=0,n=2,m=3;for(i=0;i2;i+)for(j=0;j3;j+)sca nf(%d, &aij);p二nu m(a ,n, m);prin tf(%d,p);作業(yè)十一、編寫程序,通過函數(shù)求

16、6 - 300以內(nèi)的素數(shù)的和。#in elude #in elude void mai n() int i,sum=0;int per(int);for(i=6;i=300;i+)sum=sum+per(i);printf(SUM=%dn,sum);int per(int n) int k,i;k=sqrt(n);for(i=2;i=k+1)return n;elsereturn 0;/* 8265*/二、求 sin30 +sin60 0+cos3O+cos6O0之和。(自編 sin 和 cos 函數(shù))#include #include #define PIvoid main( ) float

17、 y,x30,x60;float sin1(float);float cos1(float);x30=30*PI/180;x60=60*PI/180;y=sin1(x30)+cos1(x30)+sin1(x60)+cos1(x60);printf(SUM=%fn,y);float sin1( float x) float sum=0,t=x;int i=1,f=1;dosum=sum+t;i=i+2;f=-f;t=t*f*x*x/(i*(i-1);while(fabs(t)1e-6);return sum;float cos1(float x) float sum=0,t=1;int i=0,

18、f=1;dosum=sum+t;i=i+2;f=-f;t=t*f*x*x/(i*(i-1);while(fabs(t)1e-6);return sum;/*SUM=*/三 、編寫函數(shù),求級數(shù) S=1+2+3+.n ,并在主函數(shù)中求: #include int f(int);void main( ) float s;s=(float)(f(3)+f(4)+f(5)/(f(5)+f(6)+f(7); printf(SUM=%fn,s);int f(int a)int sum=0,i;for(i=1;i=a;i+)sum=sum+i;return sum;/* SUM二*/ 作業(yè)十一、編寫一個函數(shù),

19、求一維數(shù)組的平均值、最大值#in elude void mai n()int a5,i,max;void maxave(i nt w5,i nt *p,float *q);float ave=0;for(i=0;i5;i+)sea nf(%d, &ai);maxave(a,& max,& ave);prin tf(MAX=%d,AVER=%fn,max,ave);void maxave(i nt w5,i nt *p,float *q)int i;*p=w0;for(i=1;i5;i+)if(*pwi)*p=wi;for(i=0;i5;i+)*q=*q+wi;*q=*q/5;統(tǒng)計其中大于平均值

20、的數(shù)二、輸入 10 個數(shù),編寫一個函數(shù), 按降序?qū)ζ渑判颍?的個數(shù)。#include int sort(int w,int n);void main( ) int i,a10,count=0;for(i=0;i10;i+)scanf(%d,&ai);count=sort(a,10);for(i=0;i10;i+)printf(%3d,ai);printf(nCOUNT=%dn,count);int sort(int w,int n) int i,j,t,c=0;float av=0;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(wiwj)t=wi;wi=wj;wj=t;

21、for(i=0;in;i+)av=av+wi;av/=10;for(i=0;iav)c+;return c;三、編寫一個函數(shù),求 N 階二維矩陣的主和輔對角線元素之和 #include #define N 3void main( ) int aNN,i,j,sum,sun;for(i=0;iN;i+)for(j=0;jN;j+)scanf(%d,&aij);for(i=0;iN;i+)for(j=0;jN;j+)prin tf(%3d,aij);prin tf(n);sum二zdj(a,N);sun二 fdj(a,N);prin tf(sum=%d,s un=%dn,sum,s un);int

22、 zdj(int cN,int n)int i,s=0;for(i=0;i n;i+)s+=cii;return s;int fdj(int dN,int n)int i,j,s=0;for(i=0;i n;i+)for(j=0;j n;j+)if(i+j=n-1)s+=dij;return s; 作業(yè)十二用指針的方法,把輸入的一個字符串按逆序重新排序其字符,并輸出#include #include void main( ) char w20,ch,*b,*e,*s;int i;s=b=w;gets(w);i=strlen(w);e=s+i-1;for(;be;b+,e-)ch=*b;*b=*

23、e;*e=ch;puts(s);二、 用指針的方法,將鍵盤輸入的兩個字符串連接起來形成一個新字符串#include #include void main( )char a30,b20,*p,*q,*s;int i,j;p=s=a;q=b;gets(p);gets(q);i=strlen(p);p=p+i; while(*p+=*q+)puts(s);如輸入:三、 用指針的方法, 將鍵盤上輸入的一串數(shù)值字符串轉(zhuǎn)換為數(shù)值輸出 -132 ,則輸出為: -132。#include #include void main( )char a10,*p;int t=1,n=0;gets(a);p=a;if(*

24、p=-)t=-t;P+;while(*p!二0)n二n *10+(*p-0);P+;n=n *t;prin tf(%dn, n);(參考p69)作業(yè)十三一、通過函數(shù)統(tǒng)計某字符串中,英文單詞的個數(shù)#in elude #defi ne YES 1#defi ne NO 0void mai n()int n I, nw,n c,i nword;char c;in word二NO;nl二nw=n c=0;while(c=getchar()!=*)+nc;if(c=n)+nl;if(c= | c=t | c=n)inword=NO;elseif(inword=NO)inword=YES;+nw;nl+;

25、nc+;printf(%dt%dt%dn,nl,nw,nc);二、在主函數(shù)中初始化一個 3 行 4 列的矩陣并將每個元素都輸出,然后調(diào)用子 函數(shù),分別計算每一行的元素之和,將和直接存放在每行的第一個元素中,返 回主函數(shù)之后輸出各行元素的和。#include void main()int a34,i,j;void sum(int w4,int n,int m);for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i3;i+)for(j=0;j4;j+)printf(%3d,aij);printf(n);sum(a,3,4);for(i=0;i3;i+)printf(%3d,ai0);printf(n);void sum(int w4,int n,int m)int i,j;for(i=0;in;i+)for(j=1;jm;j+)wi0+=wij;請編程實三、己知有若干個學生的數(shù)據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論