C語言編輯作業(yè)二_第1頁
C語言編輯作業(yè)二_第2頁
C語言編輯作業(yè)二_第3頁
C語言編輯作業(yè)二_第4頁
C語言編輯作業(yè)二_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1. 求出10至1000之內(nèi)能同時被2、3、7整除的數(shù),并輸出。#includeint main()int n;for(n=10;n=1000;n+)if(n%42=0) printf(%d ,n);printf(n);return 0;2. 用switch語句編一程序,對于給定的一個百分制成績,輸出相應的五分制成績,設:90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。#includeint main()float score;char grade;scanf(%f,&score);switch (int)(score/10)case 10:case 9: gr

2、ade=A;break;case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;case 5:case 4:case 3:case 2:case 1:case 0:grade=E;break;default:printf(errorn);printf(%cn,grade);return 0;3、 有10個數(shù)圍成一圈,求相鄰三個數(shù)之和的最小值。#include int main() float a10; float t,b; int i; printf(qing shu ru 10 ge shu:n); for(i=0;

3、i=9;i+) scanf(%f,&ai); printf(n); t=a0+a1+a9; for(i=1;ib) t=b; printf(The smallest number is:%6.2fn,t); return 0; 4. 編程判斷輸入的正整數(shù)是否既是5又是7的整倍數(shù)。若是,則輸出yes;否則輸出no。 #includeint main()int n;scanf(%d,&n);if(n%5=0&n%7=0)printf(yesn);else printf(non);return 0;5. 一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=123.編程找出1000以內(nèi)的所有

4、完數(shù)。#include int main()int m,s,i;for(m=2;m1000;m+)s=0;for(i=1;im;i+)if(m%i=0)s=s+i;if(s=m)printf(%d ,its factors are,m);for(i=1;im;i+)if(m%i=0)printf(%d ,i);printf(n);return 0;法二#include int main() int m,i,s; for(m=2;m1000;m+) s=1; for(i=2;i=m/2;i+) if(m%i=0) s=s+i; if(s=m) printf(%d is 完數(shù) its factor

5、s are ,m); for(i=1;i=m;i+) if(m%i=0) printf(%d ,i); printf(n); return 0;1. 把100-200間的不能被3整除的數(shù)輸出。#includeint main()int n;for(n=100;n=200;n+)if(n%3!=0) printf(%3dn,n); return 0;2. 編寫一函數(shù)fun,實現(xiàn)矩陣(3行3列)的轉(zhuǎn)置(即行列互換)。#include #define N 3 float b33; float a33; int main() void fun(float a3); int i,j; printf(qi

6、ng shu ru shu zu:n); for(i=0;iN;i+) for(j=0;jN;j+) scanf(%f,&aij); printf(nyuan shu zu a:n); for (i=0;iN;i+) for(j=0;jN;j+) printf(%8.2f,aij); printf(n); fun(a); printf(zhuan zhi hou shu zu a:n); for(i=0;iN;i+) for(j=0;jN;j+) printf(%8.2f,bij); printf(n); return 0; void fun(float a3) int i,j,t; for(

7、i=0;iN;i+) for(j=0;jN;j+) bji=aij; 3. 從鍵盤輸入100個整數(shù),統(tǒng)計其中正數(shù)、負數(shù)及零的個數(shù)。#includeint main()int i,n,s1,s2,s3;for(i=1,s1=0,s2=0,s3=0;i0) s1=s1+1;if(n0) s2=s2+1;if(n=0) s3=s3+1;printf(s1=%d s2=%d s3=%dn,s1,s2,s3);return 0;4. 求1到100之間的奇數(shù)之和及偶數(shù)之和,并將二者輸出。#includeint main()int i,s1=0,s2=0;for(i=1;i=100;i+)if(i%2=0)

8、s1=s1+1;else s2=s2+1;printf(s1=%dns2=%dn,s1,s2);return 0;5. 編寫一個函數(shù),求6行、6列的二維數(shù)組全體元素中負數(shù)的個數(shù)。#include int main() int i,j,a66,n=0; printf(輸入6*6數(shù)組:n); for(i=0;i6;i+) for(j=0;j6;j+) scanf(%d,&aij); for(i=0;i6;i+) for(j=0;j6;j+) if(aij0) n=n+1; printf(n=%dn,n);return 0;1. 編程:輸出100300中的素數(shù)及素數(shù)的個數(shù)#include#inclu

9、deint main()int n,k,i,m=0;for(n=101;n=300;n=n+2)k=sqrt(n);for(i=2;i=k+1)printf(%4d,n);m=m+1; if(m%10=0)printf(n); printf(n);printf(m=%3dn,m);return 0;2. 有一數(shù)列,包含10個數(shù),已按升序排好?,F(xiàn)要求編一程序,從指定位置開始的n個數(shù)按逆序重新排列并輸出新的完整數(shù)列(例:原數(shù)列:2,4,6,8,10,12,14,16,18,20,若要求把從第4個數(shù)開始的5個數(shù)按逆序重新排列,則得到新數(shù)列為2,4,6,16,14,12,10,8,18,20)要求在主

10、函數(shù)中輸入10個數(shù)及指定位置m的值,并輸出新的數(shù)列,在被調(diào)函數(shù)中從指定位置開始的n個數(shù)按逆序重新排列。#includeint main()int aa10=2,4,6,8,10,12,14,16,18,20,i; void sort(int a,int n);sort(aa,5);for(i=0;i10;i+)printf(%d ,aai);printf(n);return 0; void sort(int a,int n)int i,j,t;for(i=3;in+3-1;i+)for(j=i;jn+3;j+)if(aiaj)t=ai;ai=aj;aj=t;3. 編程:將一個數(shù)組中的數(shù)值按逆序

11、重新存放。例如,原來順序為8, 6, 5, 4, 1。要求改為1, 4, 5, 6, 8。#includeint main()int i,a5;for(i=0;i=0;i-)printf(%2d,ai);printf(n);return 0;l 4、編程:將字符串中的第m個字符開始的全部字符復制到另一個字符串。要求在主函數(shù)中輸入字符串及m的值并輸出復制結(jié)果,在被調(diào)函數(shù)中完成復制。#include#includechar d80=0;int main()int cpy(char s,int m);char a80;int m;gets(a);scanf(%d,&m);cpy(a,m);puts(

12、d);return 0;int cpy(char s,int m)int i,j=0,t;t=strlen(s);for(i=m-1;it;i+,j+)dj=si;5. 編程:求1到100之間的奇數(shù)之和及偶數(shù)之和,并將二者輸出#includeint main()int i,s1=0,s2=0;for(i=1;i=100;i+)if(i%2=0)s1=s1+1;else s2=s2+1;printf(s1=%dns2=%dn,s1,s2);return 0;6. 求6行、6列的二維數(shù)組全體元素中負數(shù)的個數(shù)。#include int main() int i,j,a66,n=0; printf(輸

13、入6*6數(shù)組:n); for(i=0;i6;i+) for(j=0;j6;j+) scanf(%d,&aij); for(i=0;i6;i+) for(j=0;j6;j+) if(aij0) n=n+1; printf(n=%dn,n);return 0; 1. 有4名學生,每個學生考4門課,要求:寫2個函數(shù):(1)返回值為總平均分的函數(shù)(2)返回值為最低分的函數(shù)。在main()函數(shù)中輸入每個學生4門課的成績,調(diào)用以上2個函數(shù),輸出總平均分和最低分#include#define N 4int main()float aver(float m44);float low(float n44);fl

14、oat a44,t,s,k;int i,j;printf(shu chu shu zu a:n);for(i=0;i4;i+)for(j=0;j4;j+)scanf(%f,&aij);aij=k;t=aver(a);s=low(a);printf(aver=%4f,t);printf(main=%4f,s);printf(n);return 0;float aver(float m44)int i,j;float sum=0,aver;for(i=0;i4;i+)for(j=0;j4;j+)sum=sum+mij;aver=sum/4;return (aver);float low(float

15、 n44)int i,j;float min=n00;for(i=0;i4;i+)for(j=0;jnij)min=nij;return (min);2. 編程:把100-200間的不能被3整除的數(shù)輸出。#includeint main()int m;for(m=100;m=200;m+)if(m%3!=0)printf(%4d,m);printf(n);return 0;3. 輸入10個整數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。要求:寫3個函數(shù):(1)輸入10個數(shù)的函數(shù),(2)交換處理的函數(shù),(3)輸出10個數(shù)的函數(shù)。在main()函數(shù)中調(diào)用以上3個函數(shù)。#includ

16、eint main()int input(int a);int f(int a);int output(int a);int a10;input(a);f(a);output(a);return 0;int input(int a)int i;for(i=0;i10;i+)scanf(%d,&ai);int f(int a)int i,j,t,max=0,min=0;for(i=1,j=0;i10;i+,j+)if(amaxaj)min=j;t=amax;amax=a9;a9=t;t=amin;amin=a0;a0=t;int output(int a)int i;for(i=0;i10;i+

17、)printf(%5d,ai);printf(n);l 4 、設有10個學生的信息,包括學號、姓名和三門功課的成績,試編寫學生信息輸入函數(shù)、學生信息輸出函數(shù),最后編寫主函數(shù),并在主函數(shù)中調(diào)用這些函數(shù)。#include#define N 5struct stuint num;char name20;int score1;int score2;int score3;stuN;int main ()int shuru();int shuchu();shuru();shuchu();int shuru()int i;for(i=0;iN;i+)printf(num=);scanf(%d,&stui.n

18、um);printf(name=);scanf(%s,&);printf(score1=);scanf(%d,&stui.score1);printf(score2=);scanf(%d,&stui.score2);printf(score=);scanf(%d,&stui.score3);printf(n);int shuchu()int i;printf(xue sheng de xin xi:n);for(i=0;iN;i+)printf(%5d%10s%10s%10d%10d%10dn,stui.num,,stui.score1,stui.score

19、2,stui.score3);printf(n);1. 從鍵盤輸入10個整數(shù),對其進行從小到大排序,將排序后的結(jié)果輸出并保存到文件“DATA.DAT”中。#includeint main()int i,j,t,a10;printf(shu ru 10 ge shu;n);for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(j=0;j9;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t;printf(shu chu xin pai lie:n);for(i=0;i10;i+)printf(%d,ai);printf(n);return 0

20、;2. 從3*4的矩陣中求出最大值及所在的行號、列號,并將結(jié)果存入文件“DATA.DAT”中。#includeint main()int i,j,max,hang,lie,a34;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);max=a00;for(i=0;i3;i+)for(j=0;jmax)max=aij;hang=i;lie=j;printf(max=%dnhang=%dnlie=%dn,max,hang,lie);return 0;3. 編程:從鍵盤輸入一行字符,將其中的大寫字母改成小寫字母存入磁盤文件“TEXT . TXT”中保存。#inclu

21、de#includeint main()char a81,d81;int i,j,t=0;gets(a);t=strlen(a);for(i=0,j=0;i=A&ai=Z)dj=ai+32;for(j=0;jt;j+)printf(%c,dj);printf(n);return 0;l 4、編程:從鍵盤輸入N個字符串,按字典順序排序后輸出,并將結(jié)果保存入“DATA.DAT”中。#include#include#define N 3int main()char strN81,t81;int i,j,k;for(i=0;iN;i+)scanf(%s,stri);for(i=0;iN-1;i+)k=

22、i;for(j=i+1;j0)k=j;strcpy(t,strk);strcpy(strk,stri);strcpy(stri,t);for(i=0;iN;i+)printf(%c,stri);printf(n);return 0;法二#include#include#includetypedef struct char c105;Line;Line a10;int cmp(const void *x,const void *y) char *m = (Line*)x)-c; char *n = (Line*)y)-c; return strcmp(m,n);int main() int L,

23、M,i,x,y,ans; for(i = 0;i 10;i +) scanf(%s,ai.c); qsort(a,10,sizeof(a0),cmp); for(i = 0;i 10;i +) printf(%sn,ai.c); return 0;5. 鍵盤輸入n個整數(shù),統(tǒng)計其中正數(shù)、負數(shù)及零的個數(shù),結(jié)果保存至“data.dat”文件中。#includeint main()int i,z=0,f=0,l=0,a10;for(i=0;i0) z+;else if(ai=0) l+;else f+;printf(zheng shu=%dnfu shu=%dnling=%dn,z,f,l);retu

24、rn 0;6. 輸入一行字符,分別統(tǒng)計出其中的英文字母、空格、數(shù)字和其他字符的個數(shù),并將統(tǒng)計結(jié)果輸出到磁盤文件“test”中保存#includeint main()char c;int z=0,k=0,s=0,q=0;printf(qing shu chu yi hang zi fu:n);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9) s+;else q+;printf(zi mu shu=%dnkong ge shu=%dnshu zi shu=%dnqi ta zi fu=%dn, z,k,s,q);return 0;。5. 輸出所有的“水仙花數(shù)”,所謂

25、“水仙花數(shù)”是指一個3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一水仙花數(shù),因為153=13+53+33#includeint main()int i,j,k,n;printf(shu chu shui xian huan shu:n);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k)printf(%4d,n);printf(n);return 0;7.求1+2+3+100。#includeint main()int n,sum=0;for(n=1;n=100;n+)sum=sum+n;print

26、f(sum=%4dn,sum);return 0; 8.給定一個一維數(shù)組a有N個元素,求最大值。 #includeint main()int i,j,t,a3=5,8,3,max;max=a0;for(i=0;i3;i+)if(maxai) max=ai;printf(max=%dn,max);return 0;9.用選擇法對10個數(shù)按從小到大的順序排列。#includeint main()int i,j,min,t,a11;printf(enter data:n);for(i=0;i10;i+)printf(a%d=,i);scanf(%d,&ai);printf(n);for(j=i+1;

27、j10;j+)printf(%5d,ai);printf(n);for(i=0;i=9;i+)min=i;for(j=i+1;jaj) min=j;t=ai;ai=amin;amin=t;printf(nthe sorted numbers:n);for(i=0;i=9;i+)printf(%5d,ai);printf(n);return 0;10.對10個數(shù)依次賦值為0,1,2,3,4,5,6,7,8,9,要 求逆序輸出。#includeint main()int i,a10=0,1,2,3,4,5,6,7,8,9;printf(shun xu shu chu:n);for(i=0;i=0;

28、i-)printf(%4d,ai);printf(n);return 0; 11.10個學生,每個學生3門課成績,要求計算出每個同學的平均成績并輸出。#includeint main()float aver(float grade_A,float grade_B,float grade_C);int i;float grade_a,grade_b,grade_c,e;for(i=0;i=9;i+)scanf(%f%f%f,&grade_a,&grade_b,&grade_c);e=aver(grade_a,grade_b,grade_c);printf(%fn,e);return 0;floa

29、t aver(float grade_A,float grade_B,float grade_C)float sum,E;sum=grade_A+grade_B+grade_C;E=sum/3;return (E); 12編寫函數(shù)voidsort(inta,intn),其功能是對a數(shù)組中前n個元素從小到大排序。要求:在main中輸入a數(shù)組的10個元素,調(diào)用函數(shù)sort實現(xiàn)對a數(shù)組的排序。#includeint main()void sort(int x,int n);int a10,i,*p;p=a;printf(enter array:n);for(i=0;i10;i+)scanf(%d,p

30、+);p=a;sort(p,10);printf(the sorted array:n);for(p=a,i=0;i10;i+)printf(%d,*p);p+;printf(n);return 0;void sort(int x,int n)int i,j,k,t;for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+)if(xkxi) k=j;t=ai;ai=ak;ak=t;13.輸入一個不多于5位的正整數(shù),將其各位數(shù)輸出。#include#includeint main()int n,a,b,c,d,e;printf(shu ru zheng shu:);scanf(%d,&n);if(n99999|n=0)printf(data errorn);elsea=n/10000;b=(n-a*10000)/1000;c=(n-a*10000-b*1000)/100;d=(n-a*10000-b*1000-c*100)/10;e= n-a*10000-b*1000-c*100-d*10;printf(you gao dao di ge wei shu fen bie

溫馨提示

  • 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

提交評論