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

下載本文檔

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

文檔簡介

PAGE作業(yè)一求一個任意邊長的矩形面積。#include<stdio.h>voidmain(){intw,h,sum;scanf("%d%d",&w,&h);sum=w*h;printf("area=%d\n",sum);}求一個任意半徑的圓的面積及周長。#definePI3.14159#include<stdio.h>voidmain(){floatr,area,c;scanf("%f",&r);area=PI*r*r;c=2*PI*r;printf("area=%f\ncircle=%f\n",area,c);}已知:w=5,y=4,z=2,求表達式:w*y/z的值,并輸出。##include<stdio.h>voidmain(){intw,y,z,r;w=5;y=4;z=2;r=w*y/z;printf("%5d",r);}作業(yè)二從鍵盤上輸入三個數(shù),求出其中的最大值,并輸出。#include<stdio.h>voidmain(){inta,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("max=%d\n",max);}求sin300。+sin600+cos300+cos600之和。(注意:30*3.14159/180)#include<stdio.h>#definePI3.14159#include<math.h>voidmain(){floata,b,sum;a=30*PI/180;b=60*PI/180;sum=sin(a)+sin(b)+cos(a)+cos(60);printf("total=%f\n",sum);}比較兩個數(shù)的大小。如果x大于y,則輸出:x>y,否則輸出:x<y。#include<stdio.h>voidmain(){intx,y;scanf("%d,%d",&x,&y);if(x>y)printf("x>y\n");elseprintf("x<y\n");}作業(yè)三輸入a、b、c三個值,按從小到大排序輸出。#include<stdio.h>voidmain(){inta,b,c,t;scanf("%d%d%d",&a,&b,&c);if(a>b){t=b;b=a;a=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%3d%3d%3d\n",a,b,c);}.求自然數(shù)1~10之和。。#include<stdio.h>voidmain(){inti,sum;i=1;sum=0;while(i<=10){ sum=sum+i; i++;}printf("sum=%d\n",sum);}輸入10個整數(shù),統(tǒng)計出正數(shù)之和以及負數(shù)之和。(求奇數(shù)之和以及偶數(shù)之和)#include<stdio.h>voidmain(){intsum1=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("sum1=%d\nsum2=%d\n",sum1,sum2);}作業(yè)四輸入一個0~6的整數(shù),轉(zhuǎn)換成星期輸出。#include<stdio.h>main(){inta;scanf("%d",&a);switch(a){case0:printf("Sunday");break;case1:printf("Monday");break;case2:printf("Tuesday");break;case3:printf("Wednesday");break;case4:printf("Thursday");break;case5:printf("Friday");break;case6:printf("saturday");break;default:printf("Iamsorry.Youarewrong.\n");}}.輸入一個整數(shù),將各位數(shù)字反轉(zhuǎn)后輸出。如:輸入365,則輸出顯示為563。#include<stdio.h>voidmain(){intx,r;scanf("%d",&x);printf("converis:");while(x!=0){r=x%10;printf("%d",r);x=x/10;}printf("\n");}輸入一個整數(shù),求出它的所有因子。#include<stdio.h>voidmain(){ intx,i; scanf("%d",&x); for(i=1;i<=x;i++) if(x%i==0) printf("%3d",i);}作業(yè)五求100~200之間的素數(shù)。#include<stdio.h>#include<math.h>voidmain(){intj=0,x,n,i;for(x=100;x<=200;x++){n=sqrt(x);for(i=2;i<=n;i++){if(x%i==0)break;}if(i>n){printf("%5d",x);j++;}if(j%5==0)printf("\n");}}編程輸出三角形的9×9乘法表。#include<stdio.h>voidmain(){ inti,j; for(i=1;i<10;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d",i,j,i*j); printf("\n"); }}求任意二個數(shù)的最大公約數(shù)。#include<stdio.h>main(){inta,b,m,n,q;scanf("%d%d",&m,&n);a=m;b=n;if(a>b){intz;z=a;a=b;b=z;}do{q=b%a;b=a;a=q;}while(q!=0);printf("%d\n",b);}作業(yè)六利用循環(huán)語句求(直到第100項的和)。#include<stdio.h>voidmain(){inti,t=1;floats=1,p=0,n=1;for(i=1;i<=100;i++){p=p+s;n=n+2;t=-t;s=t/n;}printf("%f\n",p);}編寫求S=。#include<stdio.h>voidmain(){intx,y=0,n,i;for(n=1;n<=5;n++){x=1;for(i=1;i<=n;i++)x=x*i;y=y+x;}printf("%d\n",y);}利用公式求cosx的近似值(精度為10-6):#include<stdio.h>#include<math.h>voidmain(){floatn=1,t=1,pi=0,s=1,x,i=1;scanf("%f",&x);while(fabs(t)>=1e-6){pi+=t;n=n*i*(i+1);s=-s*x*x;i++;t=s/n;}printf("%f",pi);}作業(yè)七用選擇法對10個整數(shù)排序(由大到小)。#include<stdio.h>voidmain(void){inta[10],i,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}for(i=0;i<10;i++)printf("%6d",a[i]);printf("\n");}輸入10個學生的一門課成績,用一維數(shù)組存放其成績,統(tǒng)計并輸出不及格人數(shù)及其百分比。#include<stdio.h>voidmain(void){inti,count=0;floatscore[10],percent;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++) if(score[i]<60) count++;percent=(float)count/10;printf("%d,%5.1f",count,percent);}編程實現(xiàn)N階方陣轉(zhuǎn)置。#include<stdio.h>voidmain(){inta[3][3],b[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++)for(j=0;j<3;j++)b[j][i]=a[i][j];printf("\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",b[i][j]);printf("\n");}}作業(yè)八把輸入的一個字符串按逆序重新排序其字符,并輸出。#include<stdio.h>#include<string.h>voidmain(){chara[80],k;inti,j;gets(a);for(i=0,j=strlen(a)-1;i<j;i++,j--){k=a[i];a[i]=a[j];a[j]=k;}puts(a);}從鍵盤輸入一個字符串。要求分別統(tǒng)計出其中英文大寫字母、小寫字母、數(shù)字、空格、以及其它字符的個數(shù)#include<stdio.h>voidmain(){inti,a=0,b=0,c=0,d=0,e=0;charq[20];gets(q);for(i=0;q[i]!='\0';i++){if(q[i]>='0'&&q[i]<='9') a++;elseif(q[i]>='a'&&q[i]<='z') b++;elseif(q[i]>='A'&&q[i]<='Z') c++;elseif(q[i]=='') d++;elsee++;}printf("%3d%4d%3d%3d%3d",a,b,c,d,e);}輸入五個英文單詞,請找出它們之中按字典排序法排在最前的一個詞。#include<stdio.h>#include<string.h>voidmain(){chara[5][30],b[30];inti,j,k;for(i=0;i<5;i++)gets(a[i]);for(i=0;i<5;i++){k=i;strcpy(b,a[i]);for(j=i+1;j<5;j++)if(strcmp(a[j],b)<0){k=j; strcpy(b,a[j]);}if(k!=i){strcpy(b,a[i]); strcpy(a[i],a[k]); strcpy(a[k],b);}puts(a[i]);}printf("\n");}作業(yè)九一、編寫一函數(shù),將字符串中的小寫字母轉(zhuǎn)換為大寫字母,主函數(shù)輸入字符串并輸出結(jié)果。#include<stdio.h>charchange(chara[]){inti;for(i=0;a[i]!='\0';i++)if(a[i]>='a'&&a[i]<='z')a[i]=a[i]-32;}voidmain(){charb[80];gets(b);change(b);puts(b);}二、編寫一函數(shù)求N!。在主函數(shù)中輸入N,調(diào)用函數(shù)求N!,輸出結(jié)果。#include<stdio.h>intsum(intn){inti,pi=1;for(i=1;i<=n;i++)pi=pi*i;return(pi);}voidmain(){intp=0,n;scanf("%d",&n);p=sum(n);printf("%d\n",p);}三、編寫一個函數(shù),求二維數(shù)組所有元素的和,要求二維數(shù)組的行、列以及數(shù)組通過函數(shù)參數(shù)傳遞,并通過主函數(shù)調(diào)用求2行3列的數(shù)組的所有元素之和。#include<stdio.h>intnum(inta[2][3],intn,intm){intsum=0,i,j;for(i=0;i<n;i++)for(j=0;j<m;j++)sum=sum+a[i][j];return(sum);}voidmain(){inta[2][3],i,j;intp=0,n=2,m=3;for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);p=num(a,n,m);printf("%d",p);}作業(yè)十一、編寫程序,通過函數(shù)求6–300以內(nèi)的素數(shù)的和。#include<stdio.h>#include<math.h>voidmain(){inti,sum=0;intper(int);for(i=6;i<=300;i++)sum=sum+per(i);printf("SUM=%d\n",sum);}intper(intn){intk,i;k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1)returnn;elsereturn0;}/*8265*/二、求sin300。+sin600+cos300+cos600之和。(自編sin和cos函數(shù))#include<stdio.h>#include<math.h>#definePI3.14159voidmain(){floaty,x30,x60;floatsin1(float);floatcos1(float);x30=30*PI/180;x60=60*PI/180;y=sin1(x30)+cos1(x30)+sin1(x60)+cos1(x60);printf("SUM=%f\n",y);}floatsin1(floatx){floatsum=0,t=x;inti=1,f=1;do{sum=sum+t;i=i+2;f=-f;t=t*f*x*x/(i*(i-1));}while(fabs(t)>1e-6);returnsum;}floatcos1(floatx){floatsum=0,t=1;inti=0,f=1;do{sum=sum+t;i=i+2;f=-f;t=t*f*x*x/(i*(i-1));}while(fabs(t)>1e-6);returnsum;}/*SUM=2.608201*/三、編寫函數(shù),求級數(shù)S=1+2+3+...n,并在主函數(shù)中求:#include<stdio.h>intf(int);voidmain(){floats;s=(float)(f(3)+f(4)+f(5))/(f(5)+f(6)+f(7));printf("SUM=%f\n",s);}intf(inta){intsum=0,i;for(i=1;i<=a;i++)sum=sum+i;returnsum;}/*SUM=0.484375*/作業(yè)十一編寫一個函數(shù),求一維數(shù)組的平均值、最大值。#include<stdio.h>voidmain(){inta[5],i,max;voidmaxave(intw[5],int*p,float*q);floatave=0;for(i=0;i<5;i++)scanf("%d",&a[i]);maxave(a,&max,&ave);printf("MAX=%d,AVER=%f\n",max,ave);}voidmaxave(intw[5],int*p,float*q){inti;*p=w[0];for(i=1;i<5;i++)if(*p<w[i])*p=w[i];for(i=0;i<5;i++)*q=*q+w[i];*q=*q/5;}輸入10個數(shù),編寫一個函數(shù),按降序?qū)ζ渑判?,統(tǒng)計其中大于平均值的數(shù)的個數(shù)。#include<stdio.h>intsort(intw[],intn);voidmain(){inti,a[10],count=0;for(i=0;i<10;i++)scanf("%d",&a[i]);count=sort(a,10);for(i=0;i<10;i++)printf("%3d",a[i]);printf("\nCOUNT=%d\n",count);}intsort(intw[],intn){inti,j,t,c=0;floatav=0;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(w[i]<w[j]){t=w[i]; w[i]=w[j]; w[j]=t; }for(i=0;i<n;i++)av=av+w[i];av/=10;for(i=0;i<n;i++)if(w[i]>av)c++;returnc;}編寫一個函數(shù),求N階二維矩陣的主和輔對角線元素之和。#include<stdio.h>#defineN3voidmain(){inta[N][N],i,j,sum,sun;for(i=0;i<N;i++)for(j=0;j<N;j++) scanf("%d",&a[i][j]);for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%3d",a[i][j]);printf("\n");}sum=zdj(a,N);sun=fdj(a,N);printf("sum=%d,sun=%d\n",sum,sun);}intzdj(intc[][N],intn){inti,s=0;for(i=0;i<n;i++)s+=c[i][i];returns;}intfdj(intd[][N],intn){inti,j,s=0;for(i=0;i<n;i++)for(j=0;j<n;j++)if(i+j==n-1)s+=d[i][j];returns;}作業(yè)十二用指針的方法,把輸入的一個字符串按逆序重新排序其字符,并輸出。#include<stdio.h>#include<string.h>voidmain(){charw[20],ch,*b,*e,*s;inti;s=b=w;gets(w);i=strlen(w);e=s+i-1;for(;b<e;b++,e--){ch=*b;*b=*e;*e=ch;}puts(s);}用指針的方法,將鍵盤輸入的兩個字符串連接起來形成一個新字符串。#include<stdio.h>#include<string.h>voidmain(){chara[30],b[20],*p,*q,*s;inti,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<stdio.h>#include<string.h>voidmain(){chara[10],*p;intt=1,n=0;gets(a);p=a;if(*p=='-'){t=-t;p++;}while(*p!='\0'){n=n*10+(*p-'0');p++;}n=n*t;printf("%d\n",n);} 作業(yè)十三通過函數(shù)統(tǒng)計某字符串中,英文單詞的個數(shù)。(參考p69)#include<stdio.h>#defineYES1#defineNO0voidmain(){intnl,nw,nc,inword;charc;inword=NO;nl=nw=nc=0;while((c=getchar())!='*'){++nc;if(c=='\n') ++nl;if(c==''||c=='\t'||c=='\n') inword=NO;else if(inword==NO) {inword=YES; ++nw; }}nl++;nc++;printf("%d\t%d\t%d\n",nl,nw,nc);} 在主函數(shù)中初始化一個3行4列的矩陣并將每個元素都輸出,然后調(diào)用子函數(shù),分別計算每一行的元素之和,將和直接存放在每行的第一個元素中,返回主函數(shù)之后輸出各行元素的和。#include<stdio.h>voidmain(){inta[3][4],i,j;voidsum(intw[][4],intn,intm);for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%3d",a[i][j]);printf("\n");}sum(a,3,4);for(i=0;i<3;i++){printf("%3d",a[i][0]);printf("\n");}}voidsum(intw[][4],intn,intm){inti,j;for(i=0;i<n;i++)for(j=1;j<m;j++)w[i][0]+=w[i]

溫馨提示

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

最新文檔

評論

0/150

提交評論