首页 > 代码库 > C语言之方阵及对角线之和
C语言之方阵及对角线之和
#include<stdio.h>
/*
两种方式实现生成一个10*10的方阵,然后输出此方阵对角线上元素之和。
*/
#define N 10
void doubleFor();
void main()
{
doubleFor();
}
//双重for循环,二位数组的方式实现
void doubleFor()
{
int num[N][N];
for (int a = 0; a < N; a++)
{
for (int b = 0; b < N; b++)
{
num[a][b] = N*a + b + 1;
printf("%-5d", num[a][b]);
}
printf("\n");
}
//对角线的和
int sum = 0;
for (int i = 0; i < N; i++)
{
sum += num[i][i]; //对角线,正好是a=b时
}
printf("\n对角线的和为:%d", sum);
system("pause");
}
运行结果
第二种方式:
#include<stdio.h>
/*
两种方式实现生成一个10*10的方阵,然后输出此方阵对角线上元素之和。
*/
#define N 10
void oneFor();
void main()
{
oneFor();
}
//双重for循环,二位数组的方式实现
void doubleFor()
{
int num[N][N];
for (int a = 0; a < N; a++)
{
for (int b = 0; b < N; b++)
{
num[a][b] = N*a + b + 1;
printf("%-5d", num[a][b]);
}
printf("\n");
}
//对角线的和
int sum = 0;
for (int i = 0; i < N; i++)
{
sum += num[i][i]; //对角线,正好是a=b时
}
printf("\n对角线的和为:%d", sum);
system("pause");
}
运行结果
#include<stdio.h>
/*
两种方式实现生成一个10*10的方阵,然后输出此方阵对角线上元素之和。
*/
#define N 10
void doubleFor();
void oneFor();
void main()
{
doubleFor();
oneFor();
}
//双重for循环,二位数组的方式实现
void doubleFor()
{
int num[N][N];
for (int a = 0; a < N; a++)
{
for (int b = 0; b < N; b++)
{
num[a][b] = N*a + b + 1;
printf("%-5d", num[a][b]);
}
printf("\n");
}
//对角线的和
int sum = 0;
for (int i = 0; i < N; i++)
{
sum += num[i][i]; //对角线,正好是a=b时
}
printf("\n对角线的和为:%d", sum);
system("pause");
}
//用单循环实现
void oneFor()
{
int num[N][N];
int a = 0;
for (int i = 0; i < N*N; i++)
{
num[i / N][i%N] = ++a;
printf("%-5d",num[i/N][i%N]);
if ((i+1)%N == 0) //每N个换行
{
printf("\n");
}
}
system("pause");
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。