杭电acm 2027,我自己运行通过了,可是却是Wrong answer

发布网友 发布时间:2024-10-23 22:26

我来回答

1个回答

热心网友 时间:2024-10-25 08:41

【解题思路】 水题。秒过~

法一:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int i,t,n=1;
char str[100];
char tabstr[]="aeiou";
int tab[300];
scanf("%d%*c",&t);
while(t--)
{
gets(str);
memset(tab,0,sizeof(tab));
for(i=0;str[i];i++)
tab[str[i]]++;
if(n++!=1) putchar('\n');
for(i=0;i<5;i++)
printf("%c:%d\n",tabstr[i],tab[tabstr[i]]);
}
system("pause");
return 0;
}

法二:
#include <ctype.h>
#include <stdio.h>
int main()
{
int n;
int y[5];
char c;
scanf("%d%*c", &n);
while (n--)
{
y[0] = y[1] = y[2] = y[3] = y[4] = 0;
while ((c = getchar()) != '\n')
{
switch (tolower(c))
{
case 'a':
y[0]++;
break;
case 'e':
y[1]++;
break;
case 'i':
y[2]++;
break;
case 'o':
y[3]++;
break;
case 'u':
y[4]++;
break;
default :
break;
}
}
printf("a:%d\n", y[0]);
printf("e:%d\n", y[1]);
printf("i:%d\n", y[2]);
printf("o:%d\n", y[3]);
printf("u:%d\n", y[4]);
if (n) putchar('\n');
}
return 0;
}

也许字母会有大小写之分,记得用tolower()或toupper()换成统一的格式就可以了。
tolower
语法:
#include <ctype.h> int tolower( int ch );
功能:函数字符ch的小写形式。
toupper
语法:
#include <ctype.h> int toupper( int ch );
功能:函数字符ch的大写形式。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com