当前位置: 代码迷 >> C语言 >> 请教个C的小问题/新手
  详细解决方案

请教个C的小问题/新手

热度:150   发布时间:2005-03-30 13:33:00.0
请教个C的小问题/新手

2.编写一个程序,计算一行文字中的元音个数。

#include<stdio.h> void main() { int i=0; char text[20]; printf("请输入一行文字,最大为20"); scanf("%s",text); if(text=getchar()=="a,e,i,o,u"||"A,E,I,O,U") { i=i+1; } printf("元音个数为",i);

}

请问一下这个题哪块有错误呀?怎么弄也不成?请高手指教,谢谢


----------------解决方案--------------------------------------------------------
//搞定了,能运行
//编写一个程序,计算一行文字中的元音个数。
#include&lt;stdio.h&gt;
void main()
{  int i,count=0;
   char text[20];
   printf("请输入一行文字,最大为20:\n");
   scanf("%s",text);
   for(i=0;text[i]!='\0';i++)
       if(text[i]=='a') count++;
       else if(text[i]=='e') count++;
       else if(text[i]=='i') count++;
       else if(text[i]=='o') count++;
       else if(text[i]=='u') count++;
       else if(text[i]=='A') count++;
       else if(text[i]=='E') count++;
       else if(text[i]=='O') count++;
       else if(text[i]=='U') count++;
  printf("元音个数为%d\n",count);
}

[此贴子已经被作者于2005-3-30 15:36:31编辑过]



----------------解决方案--------------------------------------------------------

太帅了,谢谢高手

在for下面的if..else不用加{}大括号吗?

还有\0是什么意思,空格吗?


----------------解决方案--------------------------------------------------------
\0 是字符数组的结束标志,  if..else把它看成一个 ;的语句吧

[此贴子已经被作者于2005-3-30 16:05:50编辑过]



----------------解决方案--------------------------------------------------------

#include<stdio.h> void main() { int i, counter; char text[20]; printf("请输入一行文字,最大为20\n"); scanf("%s",text); for(i = 0, counter = 0; i < 20; i++) { switch(text[i]) { case 'a': case 'e': case 'i': case 'o': case 'u': case 'A': case 'E': case 'I': case 'O': case 'U': counter++; break; default: break;

}

} printf("元音个数为 %d\n",counter);

}


----------------解决方案--------------------------------------------------------
  相关解决方案