如何在C中接受数组中的多个字符串(使用Turbo C+;+;V3.0)并根据每个字符串包含的元音计数对其进行排序
我需要用户输入句子并将其存储在一个数组中,然后计算数组中每个索引的每个字符串中的元音数,并根据元音数打印排序后的o/p 例如:如何在C中接受数组中的多个字符串(使用Turbo C+;+;V3.0)并根据每个字符串包含的元音计数对其进行排序,c,arrays,character,C,Arrays,Character,我需要用户输入句子并将其存储在一个数组中,然后计算数组中每个索引的每个字符串中的元音数,并根据元音数打印排序后的o/p 例如: char z[10][10] // this will store sentences in array 但我不知道如何将每个句子与元音匹配 z[i]=='a' || (all vowels) 可以,但如何使每个字符串都在支票下 以下是我一直在尝试的代码: #include<stdio.h> #include<conio.h> void
char z[10][10] // this will store sentences in array
但我不知道如何将每个句子与元音匹配
z[i]=='a' || (all vowels)
可以,但如何使每个字符串都在支票下
以下是我一直在尝试的代码:
#include<stdio.h>
#include<conio.h>
void main(){
int i, j;
int count;
char z[10][100];
clrscr();
for(i = 0; i < 3; i++)
{
printf("\nEnter a string: ");
//scanf("%[^\t\n]s", z[i]);
gets(z[i]);
}
for (i = 0; i < 10; i++)
{
count = 0;
for (j = 0; j < 100; j++)
{
if (z[i][j] == 'a')
{
count++;
}
}
}
printf("%d",count);
getch();
}
#包括
#包括
void main(){
int i,j;
整数计数;
char z[10][100];
clrsc();
对于(i=0;i<3;i++)
{
printf(“\n输入字符串:”);
//scanf(“%[^\t\n]s”,z[i]);
得到(z[i]);
}
对于(i=0;i<10;i++)
{
计数=0;
对于(j=0;j<100;j++)
{
如果(z[i][j]=='a')
{
计数++;
}
}
}
printf(“%d”,计数);
getch();
}
您可以简单地迭代数组的每个元素和每个字符串的每个字符
int totalVocalCount = 0;
int numberOfWords = 10;
int numberOfLetters = 100;
for(int i = 0; i < numberOfWords; i++)
{
int wordVocalCount = 0;
for(int j = 0; j < numberOfLetters; j++)
{
if(z[i][j] == 'a' || ... || z[i] == 'u')
wordVocalCount++;
totalVocalCount++;
}
printf("word %s has %d vocals",z[i], wordVocalCount);
}
printf("all words together have %d vocals",totalVocalCount);
int totalVocalCount=0;
int numberOfWords=10;
int numberOfLetters=100;
for(int i=0;i
#包括
#包括
#包括
int main(){
int i,j;
char z[10][100];
char ch;
int元音[10]={0};
整数秩[10];
int n=3;
clrsc();
对于(i=0;i 对于(i=0;ii)尝试了建议的代码@Theolodis#include#include void main(){int i,j;int count=0;char z[10][100];clrsc();对于(i=0;i@user3575666老兄,你在开玩笑吗?我编辑了我的答案这是代码(我如何注释代码-使其看起来像代码?)35; include#include void main(){int i,j;int count=0;char z[10][100];clrsc();for(i=0;i@user3575666我给你写了一个你必须集成的示例。当然它不会编译,因为我不知道你有多少个单词。但是现在我改进了答案,使它更容易集成,我希望。@user3575666请在你的问题中发布代码,这样会更好地阅读。
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
int main(){
int i, j;
char z[10][100];
char ch;
int vowels[10]={0};
int rank[10];
int n = 3;
clrscr();
for(i = 0; i < n; i++){
printf("\nEnter a string: ");
//scanf("%99[^\n]", z[i]);
gets(z[i]);
for(j=0;ch=z[i][j];++j){
ch = tolower(ch);
if(ch == 'a' || ch == 'i' || ch == 'u' || ch == 'e'|| ch == 'o')
vowels[i] += 1;
}
rank[i] = i;
}
//sort
for(i=0;i<n-1;++i){
for(j=i+1;j<n;++j){
if(vowels[i] < vowels[j]){
int tmp = rank[i];
rank[i] = rank[j];
rank[j] = tmp;
}
}
}
for(i=0;i<n;++i){
int pos = rank[i];
printf("%d : %s\n", vowels[pos], z[pos]);
}
getch();
return 0;
}