到目前为止,这是我想出的。
#include<stdio.h>
main()
{
int w=0, v=0, c=0, cnt=0;
char inp[21]="abcd aeiou hi there", ch;
FILE *read, *write;
write = fopen("D:/wordvowelcharacter.txt", "w");
fprintf(write, "%s", inp);
fclose(write);
read = fopen("D:/wordvowelcharacter.txt", "r");
if (read==NULL)
{
printf("Error opening file");
}
while ((ch=fgetc(read))!=EOF)
{
if (ch!=' ')
{
c++;
}
if (ch=='A'||ch=='a'||ch=='E'||ch=='e'||ch=='I'||ch=='i'||ch=='O'||ch=='o'||ch=='U'||ch=='u')
{
v++;
}
if (ch==' ')
{
w++;
}
}
printf("Character %d Vowel %d Word %d", c, v, w);
}
--代码结束--
最后一个 if 语句是增加字数。我应该把什么条件放在那里?目前的条件给了我错误的字数,即只有空格数。文件中的文本是:“abcd aeiou hi there”