gpt4 book ai didi

c - 根据元音编号对字符串中的单词进行排序

转载 作者:行者123 更新时间:2023-11-30 20:40:06 25 4
gpt4 key购买 nike

我必须用 C 语言编写一个程序,允许用户说出他们想要在字符串中输入多少个单词,然后我必须根据它们的元音编号对这些单词进行排序(元音较多的单词在第一个,元音较多的单词在第一个)最少的元音在最后 - 如果两个单词具有相同数量的元音,则按照它们出现的顺序保留它们)。例如:

字符串 - “Aaaa Bbbbbbb B CD home Aaa BB A poke”

排序字符串 - “Aaaa Aaa home poke A Bbbbbbb B CD BB”

我知道如何编写第一部分,但对于排序部分我不知道。有人可以帮我吗?

编辑:目前我有这个代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#pragma warning (disable: 4996)

int main(){
char string1[20], string2[100] = { '\0' };
int N, i;
do{
printf("Enter the number of words you want to enter in the string: ");
scanf("%d", &N);
if (N < 2){
printf("You must enter at least two words.\n");
printf("Enter the number of words you want to enter in the string: ");
scanf("%d", &N);
}
} while (N < 2);

for (i = 0; i < N; i++){
printf("Enter a word: ");
scanf(" %[^\n]", string1);
if (strlen(string2) == 0)
strcpy(string2, string1);
else {
strcat(string2, " ");
strcat(string2, string1);
}
}

printf("%s\n", string2);

return 0;
}

最佳答案

您将需要创建一个结构体数组,其中包含指向单词的指针以及每个单词中的元音数量。像这样的东西:

struct vowelcnt {
char *word;
int numvowels;
}

然后对结构数组进行排序(根据numvowels降序排列)。然后只需循环遍历已排序的结构,输出word,这将为您提供按以下顺序排序的单词包含的元音数量。希望有帮助。

关于c - 根据元音编号对字符串中的单词进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com