第一篇:C語言數(shù)組
實驗九 數(shù)組 一、一維數(shù)組
1、編寫程序,測試下列數(shù)組的定義方式是否正確(1)main(){ int n;scanf(“%d”,&n);int a[n];//…….}(2)main(){ int n=10;int a[n];a[0] = 1;//......}(3)#include
2、運行下面的C程序,根據(jù)運行結果,可以說明什么? #include
3、調試下列程序,使之具有如下功能:輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。寫出調試過程。main(){ int i,n,a[10],av;
for(i=0;i for(i=0;i if(i%3= =0)printf(“n”); } for(i=0;i!=n;i++)av+=a[i]; printf(“av=%fn”,av); } //尤其注意最后一次循環(huán) 上面給出的程序是完全可以運行的,但是運行結果是完全錯誤的。調試時請注意變量的初值問題、輸出格式問題等。請使用前面實驗所掌握的調試工具,判斷程序中的錯誤并改正。在程序運行過程中,可以使用 5、編寫程序,任意輸入10個整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進行排序,然后輸入一個整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。分析討論 通過實驗,分析定義與引用數(shù)組的區(qū)別。二、二維數(shù)組 1.寫出程序輸出結果(1)#include”stdio.h” main(){ int i, j, t, a[4][4]={11,22,33,44,1,2,3,4,10,20,30,40,12,22,32,42};for(i=0;i<4;i++)for(j=0;j for(j=0;j<4;j++)printf(“%d”,a[i][j]); } }(2)#include”stdio.h” main(){int i,j,m,n,a[3][4]={43,32,22,13,11,22,33,44,44,11,32,31};m=n=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[m][n]>a[i][j]){m=i;n=j;} printf(“a[m][n]=%d,m=%d,n=%d”,a[m][n],m,n);} 3、操作符&用以求一個變量的地址,這在函數(shù)scanf 中已經使用過了?,F(xiàn)在要你設計一個程序,返回一個3 * 5 的二維數(shù)組各元素的地址,并由此說明二維數(shù)組中各元素是按什么順序存儲的。 4、輸入4×4的數(shù)組,編寫程序實現(xiàn): ⑴ 求出對角線上各元素的和; ⑵ 求出對角線上行、列下標均為偶數(shù)的各元素的積; ⑶ 找出對角線上其值最大的元素和它在數(shù)組中的位置。 三、字符數(shù)組 1.驗證程序輸出結果 #include”stdio.h” main(){char a[ ]=“ab12cd34ef”;int i, j;for(i=j=0;a[i ];i++)if(a[ i]>=’a’&&a[ i]<=’z’)a[ j++ ]=a[ i ];a[ j ]=’