#15320: c 答案加註解


blackconqueror (boweichen)

學校 : 國立臺南第一高級中學
編號 : 58182
來源 : [220.132.250.41]
最後登入時間 :
2020-06-01 10:17:42
c091. 00576 - Hiaku Review -- UVa576 | From: [140.114.197.199] | 發表日期 : 2018-09-28 16:00

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int size[3];//第i+1句 i=0~2
int map[256];//如果是母音就當做1 不然就當做0
int main(int argc, char *argv[]) {
char hai[202];
int i;
for(i=0;i<257;i++) map[i]=0;
map['a']=map['e']=map['i']=map['o']=map['u']=map['y']=1;
while(gets(hai)!=0&&strcmp(hai,"e/o/i")){
int item=0;
size[0]=size[1]=size[2]=0;
for(i=0;hai[i]!='\0';i++){
if(hai[i]=='/') item++;//第i+1句
if(i==0||!map[hai[i-1]]){//!map[hai[i-1]] 代表 只要找前一個不是母音,那就加上map[]的值,如果是母音就+1,不是的話+0
size[item]+=map[hai[i]];
}
}
if(size[0]!=5){
printf("1\n");
}else if(size[1]!=7){
printf("2\n");
}else if(size[2]!=5){
printf("3\n");
}else{
printf("Y\n");
}


}


return 0;
}

 
ZeroJudge Forum