只通过了测试点2,请问是哪里的格式出问题了呀
查看原帖
只通过了测试点2,请问是哪里的格式出问题了呀
1130870
547wangsiqi楼主2023/12/17 22:57
#include <stdio.h>
#include <string.h>
int main()
{
	char str1[100],str2[100],str4[100],str3[100];
	gets(str1);
	gets(str2);
	gets(str3);
	gets(str4);
	int len1=strlen(str1),len2=strlen(str2),len3=strlen(str3),len4=strlen(str4);
	int num[26]={0};
	for(int i=0;i<len1;i++)//统计各个英文字母出现的次数
    {
        num[str1[i]-'A']++;
    }
    for(int i=0;i<len2;i++)
    {
        num[str2[i]-'A']++;
    }
    for(int i=0;i<len3;i++)
    {
        num[str3[i]-'A']++;
    }
    for(int i=0;i<len4;i++)
    {
        num[str4[i]-'A']++;
    }
   int max=0;
    for(int i=0;i<26;i++)
    {
        if(num[i]>=max)//max代表输出的行数
            max=num[i];
    }
    for(int i=max;i>0;i--)
    {
        int k;
        for(int j=0;j<26;j++)
        {
            if(num[j]>=i)
            {
                k=j;//统计每行的末尾位置
            }
        }
        for(int j=0;j<=k;j++)
        {
            if(j!=0&&j!=k)
            {
                if(num[j]>=i)
                {
                    printf(" *");
                }
                else
                {
                    printf("  ");
                }
            }
            else if(j==0)
            {
                if(num[j]>=i)
                {
                    printf("*");
                }
                else
                {
                    printf(" ");
                }
            }
            else if(j==k)
                printf(" *\n");
        }
    }
    printf("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");
	return 0;
}
2023/12/17 22:57
加载中...