我具有在句子数组中找到最长句子的功能,现在我如何才能将其变为最短句子,然后将其复制到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]);
}
}
答案 0 :(得分:1)
对于初学者来说,有一种标准算法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] );
}
}
答案 1 :(得分:-1)
以这种方式进行
struct Note {
var name: String
var attributes: [Attributes]
}
struct Attributes {
var name: String
var isFav: Bool
var tags: [Tags]
}
struct Tags {
var name: String
}