请问这段代码哪里不对呀,大神帮我看看,谢谢!

#include <stdio.h>    
#include <string.h>    
char a[20002];    
int main(){    
    int c,b,cnt=0,g=0,time=0;  scanf("%d\n",&c); scanf("%d\n",&b);  gets(a);    
    int n=strlen(a); long long u=b*n/c;    
    for(long long i=1;i<=u;i++){    
        printf("%3d:",++cnt);    
        for(int j=1;j<=c;j++){    
            if(g>=n) g=0;    
            printf("%c",a[g++]);    
        }    
        printf("\n");    
    }    
    if(b*n%c!=0) printf("%3d:",++cnt);    
    for(long long i=1;i<=b*n%c;i++){    
            if(g>=n) g=0;    
            printf("%c",a[g++]);    
    }    
    printf("\n");    
}  

打印图形:分别输入整数n、整数m和一个字符串str,要求重复打印str共m次,打印时每行字符个数为n,并在方阵每行开头输出当前行号,行号部分(行号加冒号)占四个字符宽度并靠右对齐(行号部分不占用每行打印的字符个数),如下所示。

输入:

9

5

Computer

输出:

[空格][空格] 1:ComputerC

[空格][空格] 2:omputerCo

[空格][空格] 3:mputerCom

[空格][空格] 4:puterComp

[空格][空格] 5:uter

输入的两个数分别是c和b,n是字符串长度

应该是b*c/n,不是b*n/c

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

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

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