void fun (char s[][5])
int main()
{
char s[5][5]
int i,j
printf("请输入5行5列的矩阵:")
for(i=0i<5i++)
for(j=0j<5j++)
{
scanf("%d",&s[i][j])
}
fun(s)
system("pause")
}
void fun (char s[][5])
{
long int sum=1, i,j
for(i=0i<5i++)
for(j=ij<5j++)
{
sum*=s[i][j]
}
printf("%ld",sum)
}
如果我没记错,上三角应该是指主对角线以下全是0的方阵,那这样的话,只要令主对角线以下置零就好了,主要分析点就是:主对角线以下,行数比列数大。
最终实现程序如下,键盘录入矩阵数据,最后打印出上三角:
#include <iostream>using namespace std
#define N 5 //可通过改变此值修改方阵行列数
int a[N][N]={0}
int main()
{
int row = 0
int col = 0
for(row=0row<Nrow++)
{
for(col=0col<Ncol++)
{
cout << "请输入第 " << row+1 << " 行,第 " << col << " 列数:"
cin >> a[row][col]
}
cout << endl//换行区分录入下一行
}
for(row=0row<Nrow++)
{
for(col=0col<Ncol++)
{
/*行数大于列数输出0,否则输出实际值*/
if(row > col)
cout << "0 "
else
cout << a[row][col] << " "
}
cout << endl//打印完一行之后换行
}
return 0
}
如理解有误欢迎提问,望采纳!
1、打开Dev-c++软件,点击“新建源代码”。
2、写入程序。
3、首先要向计算机输入我们3x3矩阵中的所有元素。
4、对输入的矩阵的元素进行放置于相应的位置,以便于我们之后的计算其对角元素之和。
5、向计算机指出要计算机计算出哪些元素之和和需要计算元素的具体位置在哪儿。
6、需要定义三个累积和sum1,sum2,sum来进行计算后的结果的暂时存储。
7、其中:if(m%3==0)表示要求最后输出的结果呈输出3个数之后进行换行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)