S1E15第一题
#include<stdio.h>int main()
{
int a=0,e=0,i=0,o=0,u=0;
int j;
int result;
printf("请输入一个英文句子:");
do
{
j = getchar();
if(j = 'a')
{
a+=1;
}
else if(j = 'e')
{
e+=1;
}
else if(j = 'i')
{
i+=1;
}
else if(j = 'o')
{
o+=1;
}
else if(j = 'u')
{
u+=1;
}
else
{
;
}
}
while(j != '\n');
printf("您输入的句子中,包含元音%d个\n",a+e+i+o+u);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n",a,e,i,o,u);
}
需求如下:
写一个程序,统计用户输入的字符串中,各个元音字母出现的次数(包含大小写的 a、e、i、o、u)。
我上面写的代码有什么错误吗;执行不了,好像是死循环。
j == a 本帖最后由 zltzlt 于 2020-2-15 19:12 编辑
== 写成 = 了,帮你改好了:
#include <stdio.h>
int main()
{
int a = 0, e = 0, i = 0, o = 0, u = 0;
int j;
int result;
printf("请输入一个英文句子:");
do
{
j = getchar();
if (j == 'a')
{
a += 1;
}
else if (j == 'e')
{
e += 1;
}
else if (j == 'i')
{
i += 1;
}
else if (j == 'o')
{
o += 1;
}
else if (j == 'u')
{
u += 1;
}
else
{
;
}
} while (j != '\n');
printf("您输入的句子中,包含元音%d个\n", a + e + i + o + u);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n", a, e, i, o, u);
} #include<stdio.h>
int main()
{
int a=0,e=0,i=0,o=0,u=0;
int j;
int result;
printf("请输入一个英文句子:");
do {
j = getchar();
if(j == 'a')
{
a+=1;
}
else if(j == 'e')
{
e+=1;
}
else if(j == 'i')
{
i+=1;
}
else if(j == 'o')
{
o+=1;
}
else if(j == 'u')
{
u+=1;
}
else
{
;
}
} while(j != '\n') ;
printf("您输入的句子中,包含元音%d个\n",a+e+i+o+u);
printf("其中:a(%d),e(%d),i(%d),o(%d),u(%d)\n",a,e,i,o,u);
}
判断相等必须用 ==,绝对不可以用 =,= 是赋值操作,会非预期地改变变量的值。
页:
[1]