1、实验7.2 二维数组 1 求矩阵各行元素之和(调试示例error07_3) 2 矩阵运算 3 九九乘法表 4 判断上三角矩阵 5 算算看,这是第几天? 6 找鞍点(选作) 1 求矩阵各行元素之和(调试示例error07_3) /*-----程序填空,不要改变与输入输出有关的语句。输入2个正整数 m 和 n (1<=m<=6, 1<=n<=6),然后输入矩阵 a(m 行 n 列)中的元素,分别求出各行元素之和,并输出。输出使用语句:printf("sum of row %d is %d\n", i, sum); 输入: 3 2 (m=3,n=
2、2)
6 3
1 -8
3 12
输出:
sum of row 0 is 9
sum of row 1 is -7
sum of row 2 is 15
----*/
#include
3、i][j]);
for(i=0;i 4、为从矩阵的右上角至左下角的连线。
输入输出示例:括号内为说明
输入:
1 (repeat=1)
4 (n=4)
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
sum = 35 (2+3+4+5+6+7+8=35)
------*/
#include "stdio.h"
int main(void)
{
int i, j, n, sum;
int repeat, ri;
int a[6][6];
scanf("%d", &repeat);
for(ri = 1; ri 5、 <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &a[i][j]);
sum=0;
for(i=0;i 6、 printf("sum = %d\n", sum);
}
return 0;
}
3 九九乘法表
/*---程序填空,不要改变与输入输出有关的语句。输入一个正整数 repeat (0 7、 6 9
------*/
#include "stdio.h"
int main(void)
{
int i, j, n;
int a[10][10];
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(j=1;j<=n;j++)
a[0][j]=j;
for(i=1;i<=n;i++)
a[i][0]=i;
for(i=1;i<=n;i++)
8、for(j=1;j<=i;j++)
a[i][j]=a[0][j]*a[i][0];
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");
}
}
return 0 9、
}
4 判断上三角矩阵
/*---程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0 10、2)
1 0
-8 2
输出:
YES
NO
------*/
#include "stdio.h"
#include "math.h"
int main(void)
{
int flag, i, j, n;
int a[6][6];
int repeat, ri;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
11、 for(j = 0; j < n; j++)
scanf("%d", &a[i][j]);
flag=1;
for(i=1;i 12、出有关的语句。
输入一个正整数 repeat (0 13、ar: 60 (1981年3月1日是该年的第60天)
days of year: 61 (2000年3月1日是该年的第61天)
-------*/
#include "stdio.h"
int main(void)
{
int day, day_year, month, year;
int repeat, ri;
int day_of_year(int year, int month, int day);
scanf("%d", &repeat);
for(ri = 1; ri <= repea 14、t; ri++){
scanf("%d%d%d", &year, &month, &day);
day_year=day_of_year(year,month,day);
printf("days of year: %d\n", day_year);
}
return 0;
}
/*---------*/
int day_of_year(int year, int month, int day)
{
int k,leap;
int tab[2][13]={
{0,31,28,31,30,31,30,31,31,30,31 15、30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
leap=(year%4==0&&year%100!=0||year%400==0);
for(k=1;k 16、有1个鞍点,如果找到 a 的鞍点, 就输出其下标, 否则,输出"NO"。
鞍点的元素值在该行上最大, 在该列上最小。
输入输出示例:括号内为说明
输入:
2 (repeat=2)
4 (n=4)
1 7 4 1
4 8 3 6
1 6 1 2
0 7 8 9
2 (n=2)
1 7
4 1
输出:
a[2][1] = 6
NO
-----*/
(1)错误的
#include "stdio.h"
int main(void)
{
int flag, i, j, k, row, c 17、ol, n,x;
int a[6][6];
int repeat, ri;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
x=0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &a[i][j]);
flag=0;
for(i=0;i 18、a[i][0];
row=i;col=0;
for(j=1;j 19、d] = %d\n", row, col,a[row][col]);
else
printf("NO\n");
}
return 0;
}
(2)正确
#include "stdio.h"
int main(void)
{
int flag, i, j, k, row, col, n;
int a[6][6];
int repeat, ri;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
20、 scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &a[i][j]);
flag=0;
for(i=0;i
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818