实验八数组(1) 班级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1.掌握一维数组的定义和使用 2.了解二维数组的定义和使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结 实验内容 、读程序 结果;上机运行程序,得到运行结果,比较之 #include inta[j={1,2,3,4},i,j,s=0 1 (i=3 0 printf(”s=d\n”,s) 分析结果 运行结果 #include main () int k inta[3][3]={1,2,3,4,5,6,7,8,9}; printf(“d,\n",a【k][2-k])
实验八 数组(1) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 掌握一维数组的定义和使用。 2. 了解二维数组的定义和使用。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 结果;上机运行程序,得到运行结果,比较之。 1. #include main() { int a[ ]={1, 2 , 3 , 4} , i , j , s=0 ; j = 1; for ( i = 3 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(“ s= %d \n” , s ); } 分析结果 运行结果 2. #include main() { int k ; int a[3][3] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 } ; for ( k =0 ; k < 3 ; k ++ ) printf(“%d , \n”,a [k] [2-k ] ); }
C语言程序设计上机指导与同步训练 析结果 3.有以下输入,7105467983246122-1,则下面 程序的运行结果是 #include main() intb[51],x,i,j=0,n=0 canf(”旨d,&x); while (x>-1 b[++n]= scanf("暑d”,&x);} for(⊥=1;i int i, j, row =0,col =0,m i inta[3][3]={1,-2,0,4 for(i=0;,则将下面程序的运行结果填入下表中。 #include
·40· C 语言程序设计上机指导与同步训练 ·40· 分析结果 运行结果 3.有以下输入,7 10 5 4 6 7 9 8 3 2 4 6 12 2 -1,则下面 程序的运行结果是 #include main() { int b[51] , x , i , j =0 , n = 0 ; scanf(“ %d “ , &x) ; while (x>-1) { b[++n ] = = x ; scanf(“%d” , &x);} for (i=1 ;i main() { int i , j ,row =0 ,col = 0 , m ; int a[3][3] = { 1, -2 , 0 , 4 , -5 , 6 , 2 , 4,9}; m = a [0][0] ; for (i=0 ;i ,则将下面程序的运行结果填入下表中。 #include main()
第一部分c语言程序设计上机指导 41· int low =0, mid high = 7, found ,x i found =0 inta[8]={6,12,18,42,44,52,67 while(( low a [mid] )low mid+1 else if (x main()
第一部分 C 语言程序设计上机指导 ·41· ·41· { int low =0 , mid , high = 7 , found ,x ; found =0 ; int a[ 8 ] = { 6 , 12 , 18 , 42 , 44 , 52 , 67 , 94 }; scanf( “ %d ” , &x ) ; while (( low a [mid] ) low = mid + 1; else if (x main() { int i , j , n =1 ; int a[ 5 ][ 5 ] ; for (i=0 ;i #define N 20 main()
42· C语言程序设计上机指导与同步训练 for (i N-1 scanf for(主=0;i main()
·42· C 语言程序设计上机指导与同步训练 ·42· { int a [N ] ; for ( i = 0 ; i main() { int k =0 ,n , j , num[20] ; printf ( “ Enter data that will be converted \n “) ; scanf(“ %d “ , &n) ; do { k + + ; num[k] = n ______ 2 ; n = n / 2 ; } while( n ! = 0 ); printf (“The data % d has been converted :\n” , n ) ; for ( _________________________) printf( “ % 4d \n “ ,num[k] ); } 3. 设数组 a 中的元素均为正整数,以下程序是求 a 中偶数的个数和偶数的平均值,请 在_______上填写正确内容。 #include main() { int a [10 ] = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 } ; int k ,s , i ; float ave ; for ( i = 0 , k= s =0 ; i main()
第一部分c语言程序设计上机指导 inta[3t3]={1,3,5,7,9,11,13,15,17}; int sum=0,i, j (i j<3;j sun十 printf("Sum d \n" 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 如何?上机调试之。 main() int a( 3)= int i i for(i=0;i<3;i++) scanf(”d”,&a【i]); for(i=0;i<3;i++)a【0]〓a[0j+a[i] printf(”影d,",a[0]); 运行结果 正确 误 main() { i a[o]=a[0]+a【i]; printf("sum=旨d\n”,a【o]) 运行结果 正确 错误所在 错误 应改为 3.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中。 i int i, j int b [3][2], i, 3 for(j=0;j<=2;j++)
第一部分 C 语言程序设计上机指导 ·43· ·43· { int a[ 3 ][ 3 ] = { 1 , 3 , 5 , 7 , 9 , 11 , 13 , 15 ,17 }; int sum = 0 , i , j ; for (i=0 ;i < 3 ;i++) for (j = 0 ; j < 3 ; j++ ) if (____________) sum += _______________; printf ( “Sum = %d \n” , sum) ; } 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 如何?上机调试之。 1. main() { int a ( 3) = { 3 * 0 } ; int i ; for (i=0 ;i < 3 ;i+ +) scanf (“ %d ” ,&a[ i ] ); for (i=0 ;i < 3 ;i++) a[ 0 ] = a [ 0 ] + a [ i] ; printf( “ %d ,“ , a[0] ) ; } 运行结果: 正确 错误所在: 错误 应改为: 2. main() { int a [ 10 ] , i ; scanf (“ %d “,&a) ; for ( i =1 ; i <=10 ; i + +) ; a [0] = a [ 0] + a[ i ] ; printf( “Sum= % d \n“ , a[0]) ; } 运行结果: 正确 错误所在: 错误 应改为: 3. 下面程序将二维数组 a 的行和列元素互换后存到另一个二维数组 b 中。 main() { int i, j ; int a [ ] [ ] = { { 1 , 2 , 3 } ,{ 4 , 5 , 6 }} ; int b [3][2] , i , j ; for (i=0 ;i < =1 ;i++) { for (j = 0 ; j < =2 ; j++ )
C语言程序设计上机指导与同步训练 i printf ("85d",a[iI[j] b[j][工 [工]【j]; printf ( "\n") for(i=0;i<=1;i++) 2 printf ("85d",b[i ][ j printf(wn”) 运行结果 错误 4.下面程序的功能是用数组求 Fibonacci数列前20项,每行输出5项 main() i f f[0]=f[1]=1 i<20;i++) f【2]=f[2 or(主=0;i<20;i++) i if (is 正确 亍结果 错误 四、写程序 1.编写一个程序,从键盘输入30个学生的成绩,统计最高分、最低分和平均分,并 输出。 2.通过循环按行顺序为一个5*5的二维数组a赋1~25的自然数,然后输出该数组的 右上半三角的数,试编程。 3.设计一个程序,统计4个人的得票数,参加投票的人数,低于50个,4个人的得票 分别用整数1、2、3、4表示,用-1表示输入结東,输出统计结果 4.将一个数组中的值按逆序重新存放。例如:原来顺序为8、6、5、3、2、1,要求改 为1、2、3、5、6、8
·44· C 语言程序设计上机指导与同步训练 ·44· { printf (“%5d” ,a [ i ][ j ] ); b [ j ][ I ] = a [ I ][ j ] ; } printf ( “\n”) ; } for (i=0 ;i < =1 ;i++) { for (j = 0 ; j < =2 ; j++ ) printf (“%5d” ,b [ i ][ j ] ); printf ( “\n”) ; } } 运行结果: 正确 错误所在: 错误 应改为: 4. 下面程序的功能是用数组求 Fibonacci 数列前 20 项,每行输出 5 项。 main() { int i , f [ 20 ] ; f [0] = f[ 1 ] =1 ; for (i=2 ; i < 20 ; i ++) { f [ 1 ] = f [ 1 ] + f[ 2] ; f [ 2 ] = f [ 2] + f [1] ; } for (i=0 ; i < 20 ; i ++) { if ( i%4= = 0) printf(“\n”) ; printf(“%12d” , f [ i ] ); } } 运行结果: 正确 错误所在: 错误 应改为: 四、写程序 1. 编写一个程序,从键盘输入 30 个学生的成绩,统计最高分、最低分和平均分,并 输出。 2. 通过循环按行顺序为一个 5*5 的二维数组 a 赋 1~25 的自然数,然后输出该数组的 右上半三角的数,试编程。 3. 设计一个程序,统计 4 个人的得票数,参加投票的人数,低于 50 个,4 个人的得票 分别用整数 1、2、3、4 表示,用-1 表示输入结束,输出统计结果。 4. 将一个数组中的值按逆序重新存放。例如:原来顺序为 8、6、5、3、2、1,要求改 为 1、2、3、5、6、8