- #include <stdio.h>
- #include <string.h>
- int main()
- {
-
- char str1[100];
-
- printf("请输入字符串,字符串之间用逗号隔开,以回车结束\n");
-
- scanf("%s", str1);
-
- // 定义变量用来计算出现的次数
- int A = 0, B = 0, C = 0, D = 0;
-
- // 计算每个字母出现的次数
- for (int i = 0; i<strlen(str1); i++)
- {
-
- if ( str1[i] == 'A')
- {
- A++;
- }
- else if (str1[i] == 'B')
- {
- B++;
- }
- else if (str1[i] == 'C')
- {
- C++;
- }
- else if (str1[i] == 'D')
- {
- D++;
- }
- }
-
- // 定义一个整型数组
- int str2[] = {A, B, C, D};
-
- // 定义一个变量用来对值的互换
- int temp;
-
- int a = 1, b = 1, c = 1, d=1; // 用来防止字母数相同输出错误
-
- for (int j = 3; j>=0; j--)
- {
- for (int g = 0; g<3; g++)
- {
- if (str2[g] > str2[g+1])
- {
- // 如果第一个数大于第二个数就与第二个数互换
- temp = str2[g];
- str2[g] = str2[g+1];
- str2[g+1] = temp;
-
- }
- }
-
- if (str2[j] == A && a == 1)
- {
- a++;
- printf("出现字母A的次数为%d\n", A);
- }
- else if (str2[j] == B && b == 1)
- {
- b++;
- printf("出现字母B的次数为%d\n", B);
- }
- else if (str2[j] == C && c == 1)
- {
- c++;
- printf("出现字母C的次数为%d\n", C);
- }
- else if (str2[j] == D && d == 1)
- {
- d++;
- printf("出现字母D的次数为%d\n", D);
- }
- }
-
- return 0;
- }
复制代码 |