版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1、 用篩選法求100之內(nèi)的素?cái)?shù)。解:#include <stdio.h>#include <math.h>int main()int i,j,n,a101; for (i=1;i<=100;i+) ai=i; a1=0; for (i=2;i<sqrt(100);i+) for (j=i+1;j<=100;j+) if(ai!=0 && aj!=0) if (aj%ai=0) aj=0; printf("n"); for (i=2,n=0;i<=100;i+) if(ai!=0) printf("%
2、5d",ai); n+; if(n=10) printf("n"); n=0; printf("n"); return 0;2、 用選擇法對(duì)10整數(shù)排序。解:#include <stdio.h>int main()int i,j,min,temp,a11; printf("enter data:n"); for (i=1;i<=10;i+) printf("a%d=",i); scanf("%d",&ai); printf("n"); pr
3、intf("The orginal numbers:n"); for (i=1;i<=10;i+) printf("%5d",ai); printf("n"); for (i=1;i<=9;i+) min=i; for (j=i+1;j<=10;j+)if (amin>aj) min=j; temp=ai; ai=amin; amin=temp; printf("nThe sorted numbers:n"); for (i=1;i<=10;i+) printf("%5d&q
4、uot;,ai); printf("n"); return 0; 3、 求一個(gè)3×3的整型矩陣對(duì)角線元素之和。解:#include <stdio.h>int main()int a33,sum=0;int i,j; printf("enter data:n"); for (i=0;i<3;i+) for (j=0;j<3;j+) scanf("%3d",&aij); for (i=0;i<3;i+) sum=sum+aii; printf("sum=%6dn",sum
5、); return 0;4、 有一個(gè)已排好序的數(shù)組,要求輸入一個(gè)數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。解:#include <stdio.h>int main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,number,end,i,j; printf("array a:n"); for (i=0;i<10;i+) printf("%5d",ai); printf("n"); printf("insert data:"); scanf(&
6、quot;%d",&number); end=a9; if (number>end) a10=number; else for (i=0;i<10;i+) if (ai>number) temp1=ai;ai=number;for (j=i+1;j<11;j+) temp2=aj; aj=temp1; temp1=temp2; break; printf("Now array a:n"); for (i=0;i<11;i+) printf("%5d",ai); printf("n");
7、return 0; 5、 將一個(gè)數(shù)組中的值按逆序重新存放。例如,原來順序?yàn)?、6、5、4、1。要求改為1、4、5、6、8。解:#include "stdio.h"#define N 5void main() int aN,i,temp;printf("enter arry a:n");for(i=0;i<N;i+) scanf("%d",&ai);printf("arry a:n");for(i=0;i<N;i+) printf("%4d",ai);for(i=0;i<
8、N/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf("nNow,arry a:n");for(i=0;i<N;i+) printf("%4d",ai);printf("n");6、 輸出以下的楊輝三角形(要求輸出10行)。 1 1 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1解:#include "stdio.h"void main() int i,j,n=0,a3131=0; while(n<1|n>30) /*最多可輸出30
9、行*/ printf("請(qǐng)輸入楊輝三角形的行數(shù):"); scanf("%d",&n); for(i=0;i<n;i+) ai0=1; /*第一列全置為一*/ for(i=1;i<n;i+) for(j=1;j<=i;j+) aij=ai-1j-1+ai-1j; /*每個(gè)數(shù)是上面兩數(shù)之和*/ for(i=0;i<n;i+) /*輸出楊輝三角*/ for(j=0;j<=i;j+) printf("%5d",aij); printf("n"); 7、 輸出“魔方陣”。所謂魔方陣是指這
10、樣的方陣,它的每一行、每一列和對(duì)角線之和均相等。例如,三階魔方陣為 8 1 6 3 5 7 4 9 2解:#include <stdio.h>int main() int a1515,i,j,k,p,n; p=1; while(p=1) printf("enter n(n=1-15):"); scanf("%d",&n); if (n!=0) && (n<=15) && (n%2!=0) p=0; for (i=1;i<=n;i+) for (j=1;j<=n;j+) aij=0; j
11、=n/2+1; a1j=1; for (k=2;k<=n*n;k+) i=i-1; j=j+1; if (i<1) && (j>n) i=i+2; j=j-1; else if (i<1) i=n; if (j>n) j=1; if (aij=0) aij=k; else i=i+2; j=j-1; aij=k; for (i=1;i<=n;i+) for (j=1;j<=n;j+) printf("%5d",aij); printf("n"); return 0; 8、 找出一個(gè)二維數(shù)組中的鞍點(diǎn)
12、,即該位置上的元素在該行上最大、在該列上最小。也可能沒有鞍點(diǎn)。解:#include <stdio.h>#define N 4#define M 5 /* 數(shù)組為4行5列 */int main() int i,j,k,aNM,max,maxj,flag; printf("please input matrix:n"); for (i=0;i<N;i+) /* 輸入數(shù)組 */ for (j=0;j<M;j+) scanf("%d",&aij); for (i=0;i<N;i+) max=ai0; /* 開始時(shí)假設(shè)ai0最
13、大 */ maxj=0; /* 將列號(hào)0賦給maxj保存 */ for (j=0;j<M;j+) /* 找出第i行中的最大數(shù) */ if (aij>max) max=aij; /* 將本行的最大數(shù)存放在max中 */ maxj=j; /* 將最大數(shù)所在的列號(hào)存放在maxj中 */ flag=1; /* 先假設(shè)是鞍點(diǎn),以flag為1代表 */ for (k=0;k<N;k+) if (max>akmaxj) /* 將最大數(shù)和其同列元素相比 */ flag=0; /* 如果max不是同列最小,表示不是鞍點(diǎn)令flag1為0 */ continue; if(flag) /* 如
14、果flag1為1表示是鞍點(diǎn) */printf("a%d%d=%dn",i,maxj,max); /* 輸出鞍點(diǎn)的值和所在行列號(hào) */ break; if(!flag) /* 如果flag為0表示鞍點(diǎn)不存在 */ printf("It is not exist!n"); return 0; 9、 有15個(gè)數(shù)按由大到小順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個(gè)元素的值。如果該數(shù)不在數(shù)組中,則輸出“無此數(shù)”。解:#include <stdio.h>#define N 15int main() int i,number,
15、top,bott,mid,loca,aN,flag=1,sign; char c; printf("enter data:n"); scanf("%d",&a0); i=1; while(i<N) scanf("%d",&ai); if (ai>=ai-1) i+; else printf("enter this data again:n"); printf("n"); for (i=0;i<N;i+) printf("%5d",ai); p
16、rintf("n"); while(flag) printf("input number to look for:"); scanf("%d",&number); sign=0; top=0; /top是查找區(qū)間的起始位置 bott=N-1; /bott是查找區(qū)間的最末位置 if (number<a0)|(number>aN-1) /要查的數(shù)不在查找區(qū)間內(nèi) loca=-1; / 表示找不到 while (!sign) && (top<=bott) mid=(bott+top)/2; if (n
17、umber=amid) loca=mid; printf("Has found %d, its position is %dn",number,loca+1); sign=1; else if (number<amid) bott=mid-1; else top=mid+1; if(!sign|loca=-1) printf("cannot find %d.n",number); printf("continu or not(Y/N)?"); scanf(" %c",&c); if (c='N
18、'|c='n') flag=0; return 0; 10、 有一篇文章,共有3行文字,每行有80個(gè)字符。要求分別統(tǒng)計(jì)出其中英文大寫字母、小寫字母、數(shù)字、空格以及其他字符的個(gè)數(shù)。解:#include "stdio.h"void main() int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for(i=0;i<3;i+) printf("please input line %d:n",i+1); gets(texti); for(j=0;j<8
19、0&&textij!=0;j+) if (textij>='A'&&textij<='Z') upp+; else if (textij>='a'&&textij<='z') low+; else if (textij>='0'&&textij<='9') dig+; else if (textij=' ') spa+; else oth+; printf("nupper c
20、ase:%dn",upp); printf("lower case:%dn",low); printf("digit :%dn",dig); printf("space :%dn",spa); printf("other :%dn",oth); 11、 輸出以下圖案:* * * * * * * * * * * * * * * * * * * * * * *解:#include <stdio.h>int main() char a5='*','*','*&
21、#39;,'*','*' int i,j,k; char space=' ' for (i=0;i<5;i+) printf("n"); printf(" "); for (j=1;j<=i;j+) printf("%c",space); for (k=0;k<5;k+) printf("%c",ak); printf("n"); return 0;12、 有一行電文,已按下面規(guī)律譯成密碼:A Z a zB Y b yC X c
22、x. . . .即第1個(gè)字母變成第26個(gè)字母,第i個(gè)字母變成第(26i+1)個(gè)字母,非字母字符不變。要求編程序?qū)⒚艽a譯回原文,并輸出密碼和原文。解: (1)#include <stdio.h>int main() int j,n; char ch80,tran80; printf("input cipher code:"); gets(ch); printf("ncipher code :%s",ch); j=0; while (chj!='0') if (chj>='A') && (ch
23、j<='Z') tranj=155-chj; else if (chj>='a') && (chj<='z') tranj=219-chj; else tranj=chj; j+; n=j; printf("noriginal text:"); for (j=0;j<n;j+) putchar(tranj); printf("n"); return 0; (2)#include <stdio.h>int main() int j,n; char ch80;
24、 printf("input cipher code:n"); gets(ch); printf("ncipher code:%sn",ch); j=0; while (chj!='0') if (chj>='A') && (chj<='Z') chj=155-chj; else if (chj>='a') && (chj<='z') chj=219-chj; else chj=chj; j+; n=j; printf(
25、"original text:"); for (j=0;j<n;j+) putchar(chj); printf("n"); return 0; 13、 編一程序,將兩個(gè)字符串連接起來,不要用strcat函數(shù)。解:#include <stdio.h>int main() char s180,s240; int i=0,j=0; printf("input string1:"); scanf("%s",s1); printf("input string2:"); scanf("%s",s2); while (s1i!='0') i+; while(s2j!='0') s1i+=s2j+; s1i='0' printf("nThe new string is:%sn",s1); return 0; 14、 編一個(gè)程序,將兩個(gè)字符串s1和s2比較,若s1>s2,輸出一個(gè)正數(shù);若s1=s2,輸出0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 晚年養(yǎng)老服務(wù)合同
- 鋼筋工程制安分包合同
- 標(biāo)準(zhǔn)合同范本勞務(wù)分包合同的適用范圍
- 派遣合同與正式工合同對(duì)比
- 場(chǎng)地技術(shù)服務(wù)協(xié)議
- 月嫂服務(wù)協(xié)議范例樣本
- 房屋買賣合同再審二審答辯狀
- 果樹苗木采購合同協(xié)議
- 傳統(tǒng)交易采購合同的合規(guī)性
- 無房產(chǎn)證房產(chǎn)交易合同
- 植物的抗熱性
- 《人際關(guān)系與溝通技巧》(第3版)-教學(xué)大綱
- 2023年中醫(yī)養(yǎng)生之藥膳食療考試試題
- 某土石方施工工程主要施工機(jī)械設(shè)備表
- 硅PU(塑料面層)檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- 高空除銹刷漆施工方案模板
- 信訪面試資料
- 【課件】《“敬畏生命珍愛生命”》主題班會(huì)課件
- 住宅物業(yè)危險(xiǎn)源辨識(shí)評(píng)價(jià)表
- 《報(bào)告文學(xué)研究》(07562)自考考試復(fù)習(xí)題庫(含答案)
- ASME-B31.3-2008-工藝管道壁厚計(jì)算
評(píng)論
0/150
提交評(píng)論