習題六 (解答).doc_第1頁
習題六 (解答).doc_第2頁
習題六 (解答).doc_第3頁
習題六 (解答).doc_第4頁
習題六 (解答).doc_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

習題六一 選擇題1 C 2 B 3 A 4 D 5 D 6 B 7 都正確 8 A 9 D 10 A11 A 12 B 13 D 14 A 15 B二 填空題1 按行排序 2 2,4 3 字符數(shù)組 4 數(shù)組第一個元素地址 5 0 6 1 5 9 2 6 10 3 7 114 8 12 7 * * * * * 8 * * * * *9 1 2 1 3 3 14 6 4 110 abcde11 i=1 xi-1 12 int flag, i scanf(”%s”,str1) stri!=str1i 13 i=10-j aiai+1 t=ai ai+1=t三 編程題1 #include void main()int i,n=0;int a10; /* 定義一個數(shù)組,用來存放10個數(shù) */float avg=0; /* 定義一個變量,用來存放這10個數(shù)的平均值*/int max,min; printf(請輸入10個數(shù):n); /* 提示輸入10個數(shù) */* 讀入10個數(shù),并求這些數(shù)的和 */for(i=0;i10;i+)scanf(%d,&ai);max=min=a0;for (i=1;imax)max=ai;if (aimin)min=ai;avg+=ai;avg/=10;printf(最大值為:%d,最小值為: %d 平均值為: %f,max,min,avg);2#include void main()int i,temp,n=0,k=0;int a10; /* 定義一個數(shù)組,用來存放10個數(shù) */int min; printf(請輸入10個數(shù):n); /* 提示輸入10個數(shù) */* 讀入10個數(shù),并求這些數(shù)的和 */for(i=0;i10;i+)scanf(%d,&ai);min=a0;for (i=1;i10;i+)if (aimin)min=ai;k=i;if (k!=0)temp=a0;a0=ak;ak=temp; printf(“最終的數(shù)組為:n”);for(i=0;i10;i+) printf(“%d ”,ai);printf(n最小值為: %d ,下標為:%d,min,k);3# include # define N 6main ( ) int aNN=0, i=0, j=0; for (i=0; iN; i+) ai0=aii=1; /* 給第一列和對角線上的元素賦1 */ for (i=2; iN; i+) for (j=1; ji; j+) /*對角線上的元素已被賦值,所以就ji */ aij=ai-1j-1+ai-1j; /* 給其他元素賦值 */ for (i=0; iN; i+) for (j=0; j=i; j+) printf (“%5d”, aij);printf (“n”);4【解】 程序如下:# include main ( ) float a46=0, sum=0; int i=0, j=0; for (i=0; i4; i+) for (j=0; j5; j+) aij=i*j+1; /* 給數(shù)組a的前五列賦值 */ for (i=0; i4; i+) /* 計算各行平均值,并存放在ai5上 */ sum=0;for (j=0; j5; j+) sum=sum+aij;ai5=sum/5; for (i=0; i4; i+) for (j=0; j6; j+) printf (“%5.1f”, aij);printf (“n”);運行結(jié)果:1.0 1.0 1.0 1.0 1.0 1.01.0 2.0 3.0 4.0 5.0 3.01.0 3.0 5.0 7.0 9.0 5.01.0 4.0 7.0 10.0 13.0 7.05【解】 程序如下:# include main ( ) int i=0, j=0, k=0, p=0 a35=3,1,10,4,7, 22,32,5,15,6, 11,21,8,9,16; printf (“Before:n”); for (i=0; i3; i+) /* 找最大值所在元素的下標 */ for (j=0; j5; j+) printf (“%5d”, aij);printf (“n”); for (i=0; i3; i+) for (j=0; j5; j+) if (akpaij) k=i; p=j;i=akp; akp=a00; a00=i; /* 對調(diào) */printf (“After:n”); for (i=0; i3; i+) for (j=0; j5; j+) printf (“%5d”, aij);printf (“n”);運行結(jié)果:Before: 3 1 10 4 722 32 5 15 611 21 8 9 16After:32 1 10 4 722 3 5 15 611 21 8 9 166【解】 編程點撥:用count統(tǒng)計單詞數(shù)。統(tǒng)計單詞的個數(shù)可按一下步驟進行:(1)在字符串中找出第一個非空格字符。(2)如果第一個非空格字符為有效字符(即不等于”0”),count增1,即處理第一個單詞。(3)在字符串中,只要一個空格和一個非空格字符(不能為”0”)連續(xù)存在,說明找到了新的單詞,因此count增1。程序如下:# include main ( ) char a80=”; int i=0; count=0; gets (a); while (ai = = ) i+; /* 找第一個非空格字符 */ if (ai!=0) count+; /* 非空格字符為有效字符時 */ while (ai!=0) if (ai = =& ai+1!=& ai+1!=0)count +; /*一個空格和一個非空格字符連續(xù)存在時 */i+;printf (“%s: %d Wordsn”,a,count);運行結(jié)果:|_| |_| I |_| am |_| OK|_| |_| I |_| am |_| OK: 3 Words7【解】 編程點撥:找鞍點的操作可以通過嵌套的for循環(huán)來實現(xiàn)。外層for循環(huán)用來控制二維數(shù)組的行數(shù)。在外層循環(huán)體中需要處理三件事情:(1)找每行中最大值所在的列下標;(2)判斷該元素在本列上是否為最??;(3)判斷是否找到了鞍點,若找到,輸出后退出循環(huán)。程序如下:# include # define N 3# define M 4main ( ) int aNM=0, i=0, j=0, k=0, flag=0; printf (“Input %d data:”, N*M); for (i=0; iN; i+) /* 輸入、輸出二維數(shù)組 */ for (j=0; jM; j+) scanf (“%d”,&aij); printf (“%4d”, aij); printf (“n”); for (i=0; iN; i+) k=0; for (j=0; jM; j+) if (aikaij) k=j;flag=1; /* 不是鞍點時用0做標記 */for (j=0; jajk) flag=0;if (flag = =1) /* 若是鞍點,則輸出后提前退出循環(huán) */ printf (“i=%d, k=%d, saddle point: %dn”,i,k,aik);break;if (i = =N) printf (“Not exist saddle point.n”); /* 如果正常退出循環(huán),說明無鞍點 */第1次運行結(jié)果:Input 12 data: 1 2 3 4 5 6 7 8 9 10 11 121 2 3 45 6 7 89 10 11 12i=0,k=3,saddle point: 4第2次運行結(jié)果:Input 12 data: 1 2 30 4 5 6 7 8 9 10 11 121 2 30 45 6 7 89 10 11 12Not exist saddle point.8#include #define M 5#define N 3void main()int sum;int max,i,j,sMN; /* 用數(shù)組s存學生的每門課程的成績 */double avgM=0,meanN=0; /*avg每個學生的平均分,mean每門課程的平均分*/* 獲取每個學生的每門課程的成績,并計算學生平均成績 */for(i=0;iM;i+)printf(No.%d ,i+1);for(sum=0,j=0;jN;j+)scanf(%d,&sij);sum+=sij;avgi=1.0*sum/N;max=s00;/* 計算每門課程的平均分 */for(j=0;jN;j+)for(i=0;iM;i+)meanj+=sij;meanj=meanj/M;for (i=0;iM;i+)for (j=0;jN;j+)if (maxsij)max=sij;/* 輸出考試情況 */printf(學生 );for(i=0;iN;i+)printf(課程%d ,i+1);printf(平均分n);for(i=0;iM;i+)printf(No.%d ,i+1);for(j=0;jN;j+)printf(%5d ,sij);printf(%6.1fn,avgi);for (i=0;iN;i+)printf(平均: %5.1fn,meani);printf(最高分為: %dn,max);9#include #include void main()char str80;char c;printf(請輸入字符串:n);gets(str);printf(請輸入要刪除的開始字符: );scanf(%c,&c);int i,j=0;for(i=0;stri!=0;i+)if(stri=c)stri=0;break;printf(%sn,str);10【分析】字符串存入字符數(shù)組中,要逆序存放,就要將下標為0的字符串與下標最大的字符交換,下標為1的字符與下標次最大的字符交換.,最大下標應為字符串長度-1.#include #include void main()char str20,t;int i,j;gets(str);j=strlen(str)-1;for(i=0;i=A & stri=a & stri=0 & stri=9) a2+;else a3+;for(i=0;i4;i+)printf(%s: %dn,namei,ai);運行結(jié)果:輸入一個字符串:ahjYTBJ%655#21Upper:4;Lower:3;Digit:5;Other:4;12【分析】本題有兩個關(guān)鍵:一是要找到插入的位置,二是要將插入的位置及以后的元素向后平移一個元素,最后才能在插入的位置插入概述,程序如下。void main()int a11=3,5,8,11,15,19,23,26,33,i,j,x; /*定義數(shù)組預留一個插入位置*/printf(輸入一個數(shù):);scanf(%d,&x);for(i=0;ix)break;for(j=9;j=i;j-)aj+1=aj;ai=x;for(i=0;i11,i+)printf(%3d,ai);printf(n);運行結(jié)果:輸入一個數(shù):18 3 5 8 11 15 16 18 19 23 26 3313【分析】兩個矩陣的乘積必須滿足條件:第一個矩陣的列數(shù)要等于第二個矩陣的行數(shù),乘積矩陣元計算公式為 ,程序如下。#include #define m 3;#define n 4;#define p 5;void main()int amn=1,2,3,4,5,6,7,8,9,10,11,12;int bnp=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20;int cmp,i,j,k;printf(C=n);for(i=0;im;i+)for(j=0;jp;j+)cij=0;for(k=0;kn;k+)cij+=aik*bkj;printf(%-7d,cij);printf(n);運行結(jié)果:C=110 120 130 140 150 246 272 298 324 350382 424 466 508 55014#includevoid main()char str120,str220;int i=0;printf(輸入第二個字符串:n);gets(str2);while(str1i=str2i)!=0)i+;printf(第一個字符串是:n);puts(s

溫馨提示

  • 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

提交評論