Los datos de entrada del lenguaje C contienen varias instancias de prueba y la solución al tiempo de espera al enviar

Hice una pregunta hoy para ingresar múltiples conjuntos de cadenas. Mi condición de bucle es la siguiente, pero el envío falla:

char data[100];
while(gets(data)!=EOF)

 Al enviar el programa, me pide que agote el tiempo:

El tiempo de uso de la solución superó el límite de algunos casos de prueba。

Luego lo reemplacé con lo siguiente:

char data[100];
while(gets(data)!=NULL)

La única diferencia está al final.

Los temas específicos son los siguientes:

mayúscula primera letra

Descripción

Ingrese una oración en inglés, cambiando la primera letra de cada palabra a mayúsculas.

Aporte

Los datos de entrada contienen múltiples instancias de prueba, cada una de las cuales es una oración en inglés con una longitud de no más de 100, ocupando una línea.

Producción

Envíe la oración en inglés reescrita según sea necesario.

Muestra

Aporte 

me gusta acm 
quiero que me acepten

Producción 

Me gusta Acm 
Quiero que me acepten

El código que escribí es el siguiente:

#include <stdio.h>
int main()
{
    char data[100];
    //printf("%d",a);//小写的a是97   大写的A是65
    while(gets(data)!=NULL)
    {
        //先判断一下第一字符若是小写先转换为大写
        if(data[0]>='a'&&data[0]<='z')
        {
            data[0]=data[0]-32;
        }
        //遍历剩下的元素
        for(int i=1;data[i]!='\0';i++)
        {
            //找到了每一个单词的第一个字母
            if(data[i]==' '&&(data[i+1]>='a'&&data[i+1]<='z'))
            {
                data[i+1]=data[i+1]-32;
            }
        }
        //输出每一个单词,单词与单词之间用空格隔开
        for(int i=0;data[i]!='\0';i++)
        {
            if(data[i]!=' ')
            {
                printf("%c",data[i]);
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/BaoITcore/article/details/122115310
Recomendado
Clasificación