实验七 数组

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} }
for( i=0; i<=n; i++ ){ for( j=0; j<=n; j++ ) if(i==0&&j==0) printf( "%-4c", '+'); else if(i==0||j<=i) printf( "%-4d", a[i][j]); printf("\n");
} } }
7.8 判断上三角矩阵
printf("max=%d,index=%d\n", a[index],index); } }
7.3 逆序输出
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个整数,按逆序输出这些数。 例:括号内是说明 输入 2 (repeat=2) 4 10 8 1 2 512540 输出 2 1 8 10 04521
#include "stdio.h" #include "math.h" int main( ) { int ri,repeat;
int flag,i,j,m,n,sum; int a[6][6], row[6];
scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){
#include <stdio.h> int main( ) {
int ri, repeat; int i, n, temp; int a[10];
scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++){
scanf("%d", &n); for(i=0; i<n; i++)
scanf("%d", &a[i]); /*---------*/
for(i=0; i<n; i++) printf("%d ", a[i]);
printf("\n"); } }
7.6 矩阵运算
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 读入 1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和 最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线) 例:括号内是说明 输入: 1 (repeat=1) 4 (n=4) 2341 5611 7181 1111 sum=35 (2+3+4+5+6+7+8=35)
1
(repeat=1)
3
(n=3)
输出:
+123
12
234
3456
#include "stdio.h" int main( ) { int ri,repeat;
int i,j,n,a[10][10]; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){
scanf("%d",&n); /*---------*/
scanf("%d", &a[i]); /*---------*/
printf("aver=%.2f\n", aver); } }
7.2 求最大值及其下标
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个整数,输出最大值极其下标(设最大值惟一,下 标从 0 开始)。 例:括号内是说明 输入
#include <stdio.h> int main( ) {
int ri, repeat; int i, n, sum; float aver; int a[10];
scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++){
scanf("%d", &n); for(i=0; i<n; i++)
#include "stdio.h" int main( ) { int ri,repeat;
int a[6][6],i,j,n,sum; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){
scanf("%d",&n); for (i=0;i<n;i++)
实验七 数组
7.1 求平均值
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个整数,输出平均值(保留 2 位小数)。 例:括号内是说明 输入 2 (repeat=2) 3 1 2 -6 5 12 2 5 4 0 输出 aver=-1.00 aver=4.60
#include <stdio.h> int main( ) {
int ri, repeat; int i, index, n, t; int a[10];
scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++){
scanf("%d", &n); for(i=0; i<n; i++)
输入:
2
(repeat=2)
3 1 2 3 0 4 5 0 0 6 (n=3)
2 1 0 -8 2 (n=2) 输出:
YES
NO
#include "stdio.h" #include "math.h" int main( ) { iΒιβλιοθήκη Baidut ri,repeat;
int a[6][6],flag,i,j,n; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){
2
(repeat=2)
4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4)
2 1 7 4 1 (n=2) 输出:
a[2][1]=6
NO
#include "stdio.h" int main( ) { int ri,repeat;
int flag,i,j,k,row,col,n,a[6][6]; scanf("%d",&repeat); for(ri=1;ri<=repeat;ri++){
scanf("%d", &a[i]); /*---------*/
for(i=0; i<n; i++) printf("%d ", a[i]);
printf("\n"); } }
7.4 交换最小值和最大值
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个整数,将最小值与第一个数交换,最大值与最后 一个数交换,然后输出交换后的 n 个数。 例:括号内是说明 输入 3 (repeat=3) 543512 41567 554321 输出 13245 1567 14325
int ri, repeat; int i, index, n; int a[10];
scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++){
scanf("%d", &n); for(i=0; i<n; i++)
scanf("%d", &a[i]); /*---------*/
#include <stdio.h> int main( ) {
int ri, repeat; int i, index, k, n, temp; int a[10];
scanf("%d", &repeat); for(ri=1; ri<=repeat; ri++){
scanf("%d", &n); for(i=0; i<n; i++)
scanf("%d",&n); for (i=0;i<n;i++)
for (j=0;j<n;j++) scanf("%d",&a[i][j]);
/*---------*/ if(flag) printf("YES\n"); else printf("NO\n");
} }
7.9 求矩阵每行元素之和
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入 2 个正整数 m 和 n (1≤m, n≤6),然后输入该 m 行 n 列矩阵 a 中的元素,分别求 出各行元素之和, 并存入一维数组 row 中, 再输出 row. 例:括号内是说明 输入: 1 (repeat=1) 3 2 (m=3, n=2) 63 1 -8 3 12 输出: sum of row 0 is 9 sum of row 1 is -7 sum of row 2 is 15
scanf("%d", &a[i]); /*---------*/
for(i=0; i<n; i++) printf("%d ", a[i]);
printf("\n"); } }
7.5 排序
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入一个正整数 n (1<n<=10),再输入 n 个整数,将它们从大到小排序后输出。。 例:括号内是说明 输入 3 (repeat=3) 45176 3123 554321 输出 7651 321 54321
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入 1 个正整数 n (1≤n≤6)和 n 阶方阵 a 中的元素,如果 a 是上三角矩阵, 输出"YES", 否 则, 输出"NO"。(上三角矩阵,即主对角线以下的元素都为 0, 主对角线为从矩阵的左上角至 右下角的连线) 例:括号内是说明
scanf("%d%d",&m,&n); for(i=0;i<m;i++)
for(j=0;j<n;j++) scanf("%d",&a[i][j]); /*---------*/ for(i=0;i<m;i++) printf("sum of row %d is %d\n",i,row[i]); } }
scanf("%d",&n); for(i=0; i<n; i++)
for(j=0; j<n; j++) scanf("%d",&a[i][j]);
/*---------*/ if(flag) printf("a[%d][%d]=%d\n", row, col,a[row][col]); else printf("NO\n");
7.10 找鞍点(选作)
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入 1 个正整数 n(1≤n≤6)和 n 阶方阵 a 中的元素,如果找到 a 的鞍点(鞍点的元素值 在该行上最大, 在该列上最小), 就输出它的下标, 否则,输出"NO"(设 a 最多有 1 个鞍点)。 例:括号内是说明 输入:
for(j=0;j<n;j++) scanf("%d",&a[i][j]);
/*---------*/ printf("sum=%d\n",sum);
} }
7.7 加法口诀表
程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算: 输入 1 个正整数 n(1≤n≤10), 输出一张 20 以内的加法口诀表. 加数与被加数都不大于 n, 分列第一行和第一列.(将加数、被加数、和放入一个二维数组中, 再输出该数组) 例:括号内是说明 输入:
3 (repeat=3)
3164
3 10 8 1
512540 输出
max=6,index=1 max=10,index=0 max=5,index=2
(最大值 6 的下标是 1) (最大值 10 的下标是 0) (最大值 5 的下标是 2)
#include <stdio.h> int main( ) {
相关文档
最新文档