2 pan10101 PAN10101 于 2017.12.02 12:08 提问

C语言二维数组输出矩阵

问题描述 :
 
从键盘上输入一个整数N,按以下规律输出一个(2N+1)*(2N+1)的矩阵:
对角线的值为1,
上半三角区域值为2,
下半三角区域值为3,
左半三角区域的值为4,
右半三角区域的值为5。

输入说明 :
 你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据数据占一行,大于零,小于等于8。
输出说明 :
 对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的终端)依次输出符合要求的矩阵,每行数据与数据之间以空格分隔,在行首和行尾不要输出多余的空格。在所有数据前后,以及两组数据之间不要输出多余的空行。

5个回答

caozhy
caozhy   Ds   Rxr 2017.12.02 12:33
已采纳
 #include <stdio.h>
int main()
{
int n = 0;
//scanf("%d", &n);
n = 5;
for (int i = 0; i <= 2*n; i++)
{
for (int j = 0; j <= 2*n; j++)
{
if (i == j || i + j == 2*n) {printf("1\t"); continue;}
if (j > i && j < 2* n - i && i < n) { printf("2\t"); continue; }
if (j < i && j > 2* n - i && i > n) { printf("3\t"); continue; }
if (j < i && j < 2* n - i)  { printf("4\t"); continue; }
if (j > i && j > 2* n - i)   { printf("5\t"); continue; }
 printf("-\t");
}
printf("\n");
}
}
caozhy
caozhy   Ds   Rxr 2017.12.02 17:27

我不回答以前,一个正经答案没有,回答以后,各种思路都有了。然后问题要么不采纳,要么就采纳给抄袭的。
以后再也不给代码了。你们开心就好。

caozhy
caozhy   Ds   Rxr 2017.12.02 12:34
 Output:
1
2
3
4
5
6
7
8
9
10
11
1   2   2   2   2   2   2   2   2   2   1   
4   1   2   2   2   2   2   2   2   1   5   
4   4   1   2   2   2   2   2   1   5   5   
4   4   4   1   2   2   2   1   5   5   5   
4   4   4   4   1   2   1   5   5   5   5   
4   4   4   4   4   1   5   5   5   5   5   
4   4   4   4   1   3   1   5   5   5   5   
4   4   4   1   3   3   3   1   5   5   5   
4   4   1   3   3   3   3   3   1   5   5   
4   1   3   3   3   3   3   3   3   1   5   
1   3   3   3   3   3   3   3   3   3   1   

在线测试通过

如果问题解决,麻烦点下我回答右边的采纳,谢谢

caozhy
caozhy 回复凯尼阿文: 没事。谢谢理解。如果还有问题,欢迎提问。提问不需要悬赏分。知道你不是那刷分不采纳的,以后我会尽量回答你。
11 天之前 回复
PAN10101
PAN10101 第一次来CSDN采纳什么的还不太熟练,见谅
11 天之前 回复
PAN10101
PAN10101 这几天在忙其他的差点忘了
11 天之前 回复
PAN10101
PAN10101 大哥,行了,通过了,就用你的了
11 天之前 回复
caozhy
caozhy 回复凯尼阿文: 做人要有点良心吧。义务白给你写好了代码,都测试过,结果贴出来。还找个理由就是不采纳。下次谁还愿意回答你的问题
13 天之前 回复
caozhy
caozhy 回复凯尼阿文: 你把两个for循环里的int i int j的定义放在外面,一些c编译器可能不支持这么写。
13 天之前 回复
caozhy
caozhy 回复凯尼阿文: 我写的怎么不行了?辛辛苦苦写出来就是这么个结果,伤心伤透了。
13 天之前 回复
eagleuniversityeye
eagleuniversityeye 回复PAN10101: 他写的就是C语言
13 天之前 回复
PAN10101
PAN10101 大哥,我要的是C语言,不是C++,C++我这通不过的说
13 天之前 回复
caozhy
caozhy   Ds   Rxr 2017.12.02 12:35
qq_29545231
qq_29545231   2017.12.02 16:50

看看这图就可以找出规律了。
图片说明

luofangfu
luofangfu 回复码农u号: caozhy 这个人好像是到处混经验的没有看到他有厉害之处,不过到处都看到他在回复。
大约 20 小时之前 回复
caozhy
caozhy 回复码农u号: “抄袭”两个字写了2次都没写对,真没救了。不过我知道你学习的能力很强,下次写对了啊。回答问题我们都欢迎,但是请不要回答的和人家的高度雷同。
9 天之前 回复
qq_23126581
qq_23126581 回复码农u号: 我支持你。
9 天之前 回复
qq_29545231
qq_29545231 辛辛苦苦把问题分析清楚了,还花了很多时间画了一张图,不但没人点赞,还被小人骂抄习,不要脸。真心寒!!以后再也不回答问题了!
9 天之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!