浙大版《C语言程序设计(第3版)》题目集(编程题q61-q72)
习题7-3 判断上三角矩阵 (15分)
上三角矩阵指主对角线以下的元素都为0的矩阵;主对角线为从矩阵的左上角至右下角的连线。
本题要求编写程序,判断一个给定的方阵是否上三角矩阵。
#include "stdio.h"
int main()
{
int t,n,i,j,k;
int a[10][10];
scanf("%d",&t); //输入矩阵个数
for(i=0;i<t;i++){
//循环输入矩阵信息
scanf("%d",&n);
int sign=1;
for(int j=0;j<n;j++){
for(k=0;k<n;k++){
scanf("%d",&a[j][k]);
if(j>k){
//判断是否在主对角线下
if(a[j][k]!=0){
sign=0;
}
}
}
}
if(sign)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
习题7-4 求矩阵各行元素之和 (15分)
本题要求编写程序,求一个给定的m×n矩阵各行元素之和。
#include<stdio.h>
int main(void)
{
int m,n,i,j;
int a[6][6]; //输入数组
int b[6]={
0}; //输出数组
scanf("%d%d",&m,&n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
b[i]=a[i][j]+b[i];
}
}
for(i=0;i<m;i++) //输出b
printf("%d\n",b[i]);
return 0;
}
习题7-5 找鞍点 (20分)
一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
本题要求编写程序,求一个给定的n阶方阵的鞍点。
#include "stdio.h"
int main()
{
//输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
int n,i,j,k,l;
scanf("%d",&n);
int a[n][n];
for(i=0; i<n; i++) {