尝试使用数组查找字符串中最短的句子

我具有在句子数组中找到最长句子的功能,现在我如何才能将其变为最短句子,然后将其复制到char R [red]中;然后操纵最短的句子的最后一个单词将首字母和最后一个字母变为大写

void longest (char SENTENCE[max][red],char R[red],int n){
    int longest = 0;
    for (int i = 0 ; i < n ; i++){
        if(strlen(SENTENCE[i]) > longest){
            longest = strlen(SENTENCE[i]);
            strcpy_s(R,red,SENTENCE[i]);
        }
    }

zzp0706034135 回答:尝试使用数组查找字符串中最短的句子

对于初学者来说,有一种标准算法std::min_element会返回指向容器中最小元素的迭代器。但是,将它与strlen函数一起使用将不是很有效。

因此,您确实可以自己编写这样的函数。它可以看起来如下方式

void shortest( const char s[][red],char t[],size_t n )
{
    t[0] = '\0';

    if ( n != 0 )
    {
        size_t min_i   = 0;
        size_t min_len = std::strlen( s[0] );

        for ( size_t i = 1; i < n; i++ )
        {
            size_t len = std::strlen( s[i] );
            if ( len < min_len )
            {
                min_i   = i;
                min_len = len;
            }
        }

        std::strcpy( t,s[min_i] ); 
    }
}
,

以这种方式进行

struct Note {
    var name: String
    var attributes: [Attributes]
}

struct Attributes {
    var name: String
    var isFav: Bool
    var tags: [Tags]
}

struct Tags {
    var name: String
}
本文链接:https://www.f2er.com/3036886.html

大家都在问