gpt4 book ai didi

c - 需要帮助识别以空格分隔的最长字符串

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

我需要编写一个代码来标识由空格分隔的最长字符串。如果有相同长度的字符,则将它们都写入。

例如:输入=Java流车树输出 = Java 流程树

她是我写的代码

#include <stdio.h>
#include <stdlib.h>

int main()
{
char cuv[100], big[100];
int i;
printf("Scrieti cuvintele\n");
gets(cuv);
cuv[0] = big[0];
for(i = 0; cuv[i] = '/0'; i++){
if(cuv[i] > big[i]){
big[i] = cuv[i];
}
}
printf("%s", big);

return 0;
}

问题是我不太了解 char 是如何工作的。所以我不知道该怎么做。我向您询问如何使用字符集以特定方式对字符串进行计数。

最佳答案

这是一个非常简单的解决方案。尝试理解代码。请注意,代码使用了 #include<string.h> 中的一些函数。 。因此,在查看代码之前,请先查看 string.h头文件并了解它提供的标准函数。

无论如何,这是一个非常基本的程序,(可以根据您的需要随意修改它)

#include<stdio.h>
#include<string.h>
#define MAX 256

int main(){

char input[MAX],*tmp=NULL;
char *word_list[MAX],*word=NULL;
int flag[MAX];
int i=0,index=0,m=0,largest_len=0;

//Get Input From User
printf("Enter Input:\n");
fgets(input,MAX,stdin);

//If using fgets then use strchr() to locate '\n' and replace it with '\0'(null terminating char)
if((tmp=strchr(input,'\n')) != NULL){
*tmp='\0';
}

//Use strtok() function to split the sentence/input into words separated by space
//and store them in an array of char pointers(or more like array of strings)
word = strtok(input," ");
word_list[index] = word;
index++;
while(word != NULL && i<MAX){
word=strtok(NULL," ");
if(word != NULL){
word_list[index] = word;
index++;
}
}

//find the word with the largest lenght
for(i=0;i<index;i++){
if(strlen(word_list[i]) >= largest_len){
largest_len = strlen(word_list[i]);
}
}

//Then store the index of words which have their lenght equal to the largest lenght
for(i=0;i<index;i++){
if(strlen(word_list[i]) == largest_len){
flag[m] = i;
m++;
}
}

//Print the largest words
m=0;
printf("Largest Word('s):");
for(i=0;i<index;i++){
if(flag[m] == i){
printf("%s ",word_list[i]);
m++;
}
}

return 0;
}

关于c - 需要帮助识别以空格分隔的最长字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874393/

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