我需要使用 C 将字符串中的元音更改为 $ 。我知道我需要使用 for 循环,并且我很确定我走在正确的轨道上,但我无法让它工作。
这是我的代码:
#include <stdio.h>
#include <string.h>
int main(void)
{
char input[50];
char i;
int j = 0;
printf("Please enter a sentence: ");
fgets(input, 50 , stdin);
for (j = 0; input[i] != '\0'; j++)
if (input[i]=='a'||input[i]=='e'||input[i]=='i'||input[i]=='o'||input[i]=='u')
{
input[i]= '$';
printf("Your new sentence is: %s", input);
}
return 0;
}
我知道我的错误并不大,但我就是看不到它。这是家庭作业,所以我不需要这样的解决方案,只是一些建议,以便我可以真正从中学习。
Edit:
感谢那些人,我摆脱了“j”,现在它可以工作了,但是当我运行该程序时,它会为它更改的每个元音输出一个新行。我如何编码,以便它只输出最后一行,即所有元音都改变了?
你在索引上犯了一个小错误:
for (j = 0; input[i] != '\0'; j++)
^ ^
应该
for (i = 0; input[i] != '\0'; i++)
其实你可以省略j
:
int main(void)
{
char input[50];
int i;
printf("Please enter a sentence: ");
fgets(input, 50 , stdin);
for (i = 0; input[i] != '\0'; i++)
{
if (input[i]=='a'||input[i]=='e'||input[i]=='i'||input[i]=='o'||input[i]=='u')
{
input[i]= '$';
}
}
printf("Your new sentence is: %s", input);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)