1 条题解
-
1
#include <stdio.h> #include <math.h> #include <string.h> #include <stdlib.h> // 定义一个函数,用于计算字符串中的字符出现次数 void add(char s[],int a[]){ for(int i=0;i<strlen(s);i++){ if(s[i]-'A'>=0 && s[i]-'A'<26)//去除标点符号与空格 a[s[i]-'A']++;}} // 定义一个函数,用于找到数组中的最大值 int findmax(int a[]){ int max=0; for(int i=0;i<26;i++){ if(a[i]>max) max=a[i]; } return max; } int main(){ int a[26]={0}; char s1[100],s2[100],s3[100],s4[100]; //读取四行字符,也可以用for循环 scanf("%[^\n]",s1); //跳过换行符 getchar(); add(s1,a); scanf("%[^\n]",s2); getchar(); add(s2,a); scanf("%[^\n]",s3); getchar(); add(s3,a); scanf("%[^\n]",s4); add(s4,a); // 找到字符统计数组 a 中的最大值 int max=findmax(a); //从大到小输出, for(int i=max;i>0;i--){ for(int j=0;j<26;j++){ //如果该字符出现的数目大于等于I,则输出 '*',否则输出 ' ' if(a[j]>=i) putchar('*'); else putchar(' '); // 在每个字符后面输出一个空格,除了最后一个字符 if(j<25) putchar(' '); } // 每行输出结束后,输出一个换行符 printf("\n"); } //输出横轴 for(int i=0;i<26;i++){ printf("%c",'A'+i); // 在每个字符后面输出一个空格,除了最后一个字符 if(i<25) putchar(' '); }}
信息
- ID
- 5656
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 107
- 已通过
- 64
- 上传者