課后習(xí)題數(shù)組-c語言資料資料文檔_第1頁
課后習(xí)題數(shù)組-c語言資料資料文檔_第2頁
課后習(xí)題數(shù)組-c語言資料資料文檔_第3頁
課后習(xí)題數(shù)組-c語言資料資料文檔_第4頁
課后習(xí)題數(shù)組-c語言資料資料文檔_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、求100內(nèi)的素?cái)?shù)的源代碼如下.附件中有源程序,方法不是惟一的,僅供參考.ttinclude"stdio.h〃voidmain(){inti,j;for(i=3;i<=100;i++)for(j=2;j〈=i-1;j++)if(i%j==0)break;if(i==j)printf(〃%4d〃,i);}2、用選擇法對(duì)5個(gè)整數(shù)排序.ttinclude<stdio.h>voidmain(){inta[5]={0},i,j,index,temp;for(i=0;i<5;i++)scanf&a[i]);for(i=0;i<=4-l;i++)(index=i;for(j=i+l;j<=4;j++)(if(a[j]<a[index])index=j;if(index!=i)temp=a[i];a[i]=a[index];a[index]=temp;for(i=0;i<5;i++)printf(〃%5d〃,a[i]);printf(〃\n〃);}3、有一個(gè)已經(jīng)排好順序的數(shù)組,今輸入一個(gè)數(shù),要求按原來排序的規(guī)律將它插入到數(shù)組中。#include<stdio.h>main(){inta[10]={2,4,8,15,28,57,99,110,688);inti,j,x;scanf(〃%d〃,&x);for(i=0;i<9;i++)if(x<a[i])break;for(j=8;j>=i;j)a[j+l]=a[j];a[j+l]=x;for(i=0;i<10;i++)printf(〃%da[i]);}4、求一個(gè)3*3矩陣對(duì)角線元素之和#include<stdio.h>main(){intj,a[3][3]={{l,2,3},{4,5,6},{7,8,9}};intsum=0,sum2=0,i;for(i=0;i<=2;i++)sum=sum+a[i][i];for(i=2,j=0;i>=0;j++,i—)sum2=sum2+a[j][i];sum二sum+sum2;printf(〃%d\n〃,sum);}5、將一個(gè)數(shù)組中的值按逆序存放ttinclude<stdio.h>main(){inti,j,a[4],b[4];for(i=0;i<4;i++)scanf(〃%d〃,&a[i]);for(j=0,i=3;j<4;i—)b[j]=a[i];for(j=0;j<4;j++)printf(z,%d/z,b[j]);printf(〃\n〃);}6、輸出以下楊輝三角形#include<stdio.h>main()(inti,k,j,a[5]E5]={{1},{1,1}};/*可改變數(shù)組大小來改變菱形的大小*/for(i=2;i<5;i++)(for(j=0;j<=i;j++)if((j=O)||(j=i))a[i][j]=l;elsea[i][j]=a[i-l][j]+a[i-l][j-1];)}for(i=0;i<5;i++)(for(j=0;j<=i;j++)printfC,%2d/,,a[i][j]);printf(〃\n〃);}}7、輸出“魔方陣”魔方陣,古代又稱“縱橫圖”,是指組成元素為自然數(shù)1、2…n的平方的nxn的方陣,其中每一個(gè)元素值都不相等,且每行、每列以及主、副對(duì)角線上各n個(gè)元素之和都相等。如3x3的魔方陣:816357492魔方陣的羅列規(guī)律如下:(1)將1放在第一行中間一列;(2)從2開始直到nxn止各數(shù)挨次按下列規(guī)則存放;每一個(gè)數(shù)存放的行比前一個(gè)數(shù)的行數(shù)減1,列數(shù)加1(例如上面的三階魔方陣,5在4的上一行后一列);(3)如果上一個(gè)數(shù)的行數(shù)為1,則下一個(gè)數(shù)的行數(shù)為n(指最下一行)乂列如1在第一行,則2應(yīng)放在最下一行,列數(shù)同樣加1;(4)當(dāng)上一個(gè)數(shù)的列數(shù)為n時(shí),下一個(gè)數(shù)的列數(shù)應(yīng)為1,行數(shù)減去1。例如2在第3行最后一列,則3應(yīng)放在第二行第一列;(5)如果按上面規(guī)則確定的位置上已有數(shù),或者上一個(gè)數(shù)是第一行第n列時(shí),則把下一個(gè)數(shù)放在上一個(gè)數(shù)的下面。例如按上面的規(guī)定,4應(yīng)該放在第1行第2列,但該位置已經(jīng)被占領(lǐng),所以4就放在3的下面^include<stdio.h>intmain()(intn;inta[31][31];while(scanf(〃%d〃,&n)!=EOF)(intm=l;inti=0;intj=(n-l)/2;while(m〈二n*n)a[i][j]=m;m++;i—;j++;if((m-1)%n==O&&m>1){i=i+2;j=j-l;)if(i<0)i=i+n;if(j>(n-l))j=j-n;}for(i=0;i<n;i++){for(j=0;j<n;j++)(printf("%4d”,a[i][j]);if(j==(n-1))printf(〃\n〃);)))return0;)8、找出一個(gè)二維數(shù)組中的鞍點(diǎn)#includez,stdio.h〃voidmain()(inta[4][4],i,j,min,m,n,max;for(i=0;i<4;i++)for(j=0;j<4;j++)scanf(〃%d〃,&a[i][j]);for(i=0;i<4;i++)(max=a[i][0];for(j=i+l;j<4;j++)if(a[i][j]>max)(max=a[i][j];n=j;min=a[0][i];for(j=i+l;j<4;j++)if(a[j][i]<min)min=a[j][i];m=j;)if(max-min)printf(z,%d,z,a[m][n]);elseprintf(〃沒有鞍點(diǎn)〃);9、有15個(gè)數(shù)按大由小順序存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該組中第幾個(gè)元素的值.ftinclude^math.h〃main(){staticinti,j,m,a[15]={l,4,9,13,21,34,55,89,144,233,377,570,671,703,812);scanf(〃%d〃,&m);for(j=0;j<15;j++)printf(z,%4d/z,a[j]);printf(〃\n〃);i=7;while(fabs(i-7)<8){if(m<a[7]){if(a[i]-m==0){printf(z,itisat(%d)\n\i+1);break;}i--;}elseif(m>a[7]){if(a[i]-m=0){printf(z,itisat(%d)\n〃,i+1);break;}i++;}elseprintf(〃8\n〃);)if(fabs(i-7)-8=0)printf(z,Thereisnot\n〃);)10、有一篇文章,共有3行文字,每行有個(gè)80字符。要求分別統(tǒng)計(jì)出其中英文大寫字母、小寫字母、空格以及其它字符的個(gè)數(shù)#include〃stdio.h〃#include<string.h>main(){inti,j=0,k=0,1=0,m=0,n=0;charstr0[301],strl[100],str2[100],str3[100];gets(strl);gets(str2);gets(str3);strcat(strO,strl);strcat(strO,str2);strcat(strO,str3);for(i=0;strO[i]!='\0';i++)elseelseelseelse}{ifelseelseelseelse}if(strO[i]>=97&&str0[i]<=122)k++;if(strO[i]>=48&&str0[i]<=57)1++;if(strO[i]=32)m++;n++;printf(,/DaxieXiaoxieShuziKonggeQita\n〃);printf(,z%5d%7d%5d%6d%4d\n〃,j,k,1,m,n);)11、輸出平行四邊形#include,zstdio.h〃voidmain()chara[5]={'intd,b,c;chars='’;for(d=0;d<5;d++)printf(〃\n〃);for(b=0;b<d;b++)printfs);for(c=0;c<5;c++)printf(〃枇〃,a[c]);}printf(〃\n〃);)12、有一行電文譯文下面規(guī)律譯成密碼:A->Za->zB->Yb->yc->xc->xA->Za->zB->Yb->yc->xc->x即第一個(gè)字母變成第26個(gè)字母,第i個(gè)字母變成第(26-i+l)個(gè)字母。非字母字符不變,要求編程序?qū)⒚艽a回原文,并打印出密碼和原文。#include,zstdio.h〃#include<string.h>main()inti;charstrl[10],str2[10];gets(strl);for(i=0;strl[i]!='\0';i++){if(strl[i]>=65&&strl[i]<=90)str2[i]=155-strl[i];elseif(strl[i]>=97&&strl[i]<=122)str2[i]=219-strl[i];elsestr2[i]=strl[i];}printf(,,%s\n%s\n,/,strl,str2);}13編一程序,將兩個(gè)字符串聯(lián)接起來,不要strcat函數(shù)。#include,zstdio.h〃#include<string.h>main(){inti,j;charstrl[100]={0},str2[100]={0},str3[201]={0};gets(strl);gets(str2);for(i=0;strl[i]!='\0';i++)str3[i]=strl[i];for(j=0;str2[j]!='\0';j++)str3[j+i]=str2[j];printf(〃%s\n%s\n%s\n〃,strl,str2,str3);14編一個(gè)程序,將兩個(gè)字符串SI和S2比較,如果S1>S2,輸出一個(gè)正數(shù);S1=S2,輸出0;SKS2,輸出一個(gè)負(fù)數(shù)。不要用strcpy函數(shù)。兩個(gè)字符串用gets函數(shù)讀入。輸出的正數(shù)或者負(fù)數(shù)的絕對(duì)值應(yīng)是相比較的兩個(gè)字符串相對(duì)應(yīng)字符的ASCH碼的差值。例如,'A,與'C相比,由于'N<,Cf,應(yīng)輸出負(fù)數(shù),由于'A,與'C,的碼差值為2,因此應(yīng)輸出〃-2〃。同理:〃And〃和〃Aid〃比較,根據(jù)第2個(gè)字符比較結(jié)果,'n'比,i'大5,因此應(yīng)輸出〃5〃。#include<stdio.h>ttinclude<string.h>main()(inti,resu;charsl[100]={0},s2[100]={0};printf(z/\ninputstringl:〃);gets(sl);printf(z,\nInputstring2:〃);gets(s2);i=0;while(si[i]==s2[i]&&sl[i]!='\0')i++;if(si[i]==,\0J&&s2[i]二='0,)resu=O;elseresu=sl[i]-s2[i];printf(,z\nre

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論