C语言之方阵及对角线之和

时间:2014-05-14 21:18:20   收藏:0   阅读:273
#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");
}

运行结果

bubuko.com,布布扣



第二种方式:

#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");
}


运行结果

bubuko.com,布布扣



同时运行:

#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");
}


运行结果:

bubuko.com,布布扣


C语言之方阵及对角线之和,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!