输入n*n的字符矩阵,把它旋转90度后输出??用c语言写,拜托了,急啊!!

n是否要确定我也不知道,刘汝佳白书上的题目。若n一定要确定的话,大神们以4作答吧。... n是否要确定我也不知道,刘汝佳白书上的题目。若n一定要确定的话,大神们以4作答吧。 展开
 我来答
汪好帅
推荐于2017-09-10 · TA获得超过2830个赞
知道大有可为答主
回答量:1177
采纳率:0%
帮助的人:1422万
展开全部
#include <stdio.h>
#include <malloc.h>

void main()

{
char **p;
int i,j,n,a;
printf("请输入n*n矩阵的n值:");
scanf("%d",&n);
getchar();
p = (char**)malloc(n*sizeof(char*));
for(i=0;i<n;i++)
{
p[i] = (char*)malloc(n*sizeof(char));
for(j=0;j<n;j++)
{
p[i][j] = getchar();
}
getchar(); //换行输入,去掉回车符的影响
} //动态分配n*n的数组空间,并逐行输入字符串

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%c",p[i][j]);
}
printf("\n");
}

printf("请输入选择方向\n1.顺时针\n2.逆时针\nmake your choice! (1 or 2)\n");
scanf("%d",&a);
switch(a)
{
case 1:
printf("顺时针旋转90后的矩阵为: \n");
for(i=0; i<n; ++i)
{
for(j=0; j<n; ++j)
printf("%c ", p[n-1-j][i]);
printf("\n");
}
break;
case 2:
printf("逆时针旋转90后的矩阵为: \n");
for(i=0; i<n; ++i)
{
for(j=0; j<n; ++j)
printf("%c ",p[j][n-1-i] );
printf("\n");
}
break;
default:
printf("input error!\n");
break;
}
}

如上已测试运行成功,
输入 2
ab
cd
1 //选择1顺时针输出
ca
bd
2 //选择2逆时针输出
bd
ac

中间有空格模式的话,再输入过程修改成空格输入即可。
匿名用户
2012-01-31
展开全部
#include <stdio.h>

#define N 4

int main()
{
int i, j;
int m[N][N];

for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&m[i][j]);

printf("输入的矩阵为: \n");
for(i=0; i<N; ++i)
{
for(j=0; j<N; ++j)
printf("%d ", m[i][j]);
printf("\n");
}

printf("旋转后的矩阵为: \n");
for(i=0; i<N; ++i)
{
for(j=0; j<N; ++j)
printf("%d ", m[j][N-1-i]);
printf("\n");
}

return 0;
}
更多追问追答
追问
额,我说的是字符矩阵啊,是字符啊!!!
追答
呵呵,疏忽了,用这个吧:
#include

#define N 4

int main()
{
int i, j;
char m[N][N];

for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
m[i][j]=getchar();
fflush(stdin);
}

printf("输入的矩阵为: \n");
for(i=0; i<N; ++i)
{
for(j=0; j<N; ++j)
printf("%c ", m[i][j]);
printf("\n");
}

printf("旋转后的矩阵为: \n");
for(i=0; i<N; ++i)
{
for(j=0; j<N; ++j)
printf("%c ", m[j][N-1-i]);
printf("\n");
}

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用恺明勋
游戏玩家

2019-11-21 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:837万
展开全部
你这个其实是打了5行,没有赋值的,其中1,3行没有内容,所以是空格。要想没有空格,if(i%2==1){printf("\n");}只要偶数行,就没有空格。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式