如何编写此程序,要求如图所示

 

按列循环,逐个加入到字符数组中就可以了

void main()
{
    char a[100][100];
    int M,N,i,j,k=0;
    scanf("%d %d",&M,&N);
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
            scanf("%c",&a[i][j]);
    char *p = new char[M*N+1];
    p[M*N] = 0;
    for(i=0;i<N;i++)
        for(j=0;j<M;j++)
            p[k++] = a[j][i];
    printf("%s",p);
}

 

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	int M,N,i,j;
	char* buf;
	printf("输入M和N的值:");
	scanf("%d %d",&M,&N);
	buf = (char*)malloc(M*N+1);
	for (i = 0; i < M;i++)
	{
		for(j = 0;j < N;j++)
			buf[i*N+j] = getchar();
		getchar();
	}
	buf[M*N] = '\0';
	for (i = 0; i < N; i++)
	{
		for(j = 0; j < M;j++)
			printf("%c",buf[j*N+i]);
	}
	printf("\n");
	return 0;
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632