我正在用 C 编写一个程序,它计算用户决定的一系列字符串中元音的数量,甚至字符串的元素数量也由用户决定。问题是该函数总是给出相同数量的元音,这是第一个字符串。
这是代码:
#include <stdio.h>
#include <string.h>
int vowels(char str[]);
int main(){
int n, i, x;
printf("How many strings do you want to insert?");
scanf("%d", &n);
printf("How many characters per string?");
scanf("%d", &x);
char str[x];
if(x < 10){
for(i = 0; i < n; i++){
printf("Insert a string:");
scanf("%s", str);
if(strlen(str) == x){
vowels(str);
}
else{
printf("Error\n");
}
}
}
else{
printf("Error: the number of characters must be < 10");
}
return 0;
}
int vowels(char str[]){
int i, j;
while(str[i] != '\0'){
if(str[i] == 'a' || str[i] == 'A' || str[i] == 'e' ||
str[i] == 'E' || str[i] == 'i' || str[i] == 'I' ||
str[i] == 'o' || str[i] == 'O' || str[i] == 'u' ||
str[i] == 'U'){
j++; }
i++;
}
printf("Number of vowels in the string:%d\n", j);
return 0;
}