【发布时间】:2020-01-29 19:18:49
【问题描述】:
#include <stdio.h>
#include <string.h>
#define SIZE 30
int countWord(int a[]);
int countSpace(int a[]);
int countVowel(int a[]);
int printResult(int a[]);
int main()//starting main
{
char string1[SIZE];
printf("%s","Enter a string less than 29 characters");
scanf("%29[^\n]",string1); //anything except \n.
printResult(string1);
}
int countWord(int a[]){
int count=1;
for(size_t i=0;i<SIZE&&a[i]!='\0';++i){
if(a[i]==' '){
count++;
}
}
return count;
}
int countSpace(int a[]){
int count1=0;
for(size_t i=0;i<SIZE&&a[i]!='\0';++i){
if(a[i]==' '){
count1++;
}
}
return count1;
}
int countVowel(int a[]){
int count2=0;
for(size_t i=0;i<SIZE&&a[i]!='\0';++i){
if(strchr("aeiouAEIOU", a[i])){
count2++;
}
}
return count2;
}
int countNum(int a[]){
int count3=countWord(a)-countVowel(a)-countSpace(a);
return count3;
}
int printResult(int a[]){
printf("Your sentence include\n");
printf("Number of words:%d\n",countWord(a));
printf("Number of spaces:%d\n",countSpace(a));
printf("Number of vowels:%d\n",countVowel(a));
printf("Number of consonants and special characters:%d\n",countNum(a));
}
这个程序是关于要求用户输入一个字符串并计算有多少单词,空格,元音......但是输入一个字符串后我得到了非常错误的结果。我认为逻辑很好,并且正在努力在这里找到任何问题
【问题讨论】:
-
你能扩展你的错误结果吗?
-
@EricXu 为什么函数处理整数数组?:)
-
输入一个少于 29 个字符的字符串我的猫是贝拉 你的句子包括 字数:1 空格数:0 元音数:1 辅音和特殊字符数:0 这就是我得到的,输入在:我的猫是贝拉
-
@VladfromMoscow 哦,是的,我应该输入 char 字符串
-
您还记得您为得到非常错误的结果而输入的输入字符串是什么吗?