PTA irónica - versión mejorada

versión mejorada irónica

Dada una palabra de Inglés, que le pedirá que escriba un programa, todas las palabras de la orden de la frase invierten salida.

Formatos de entrada:

Entrada de prueba comprende un caso de prueba, dada la longitud de la cadena no exceda un total de 500.000 en una fila. Cadena compuesta de varias palabras y un número de espacios, donde la palabra es letras inglesas (caso es el caso) que consiste en una cadena, un número entre palabras separadas por espacios.

Los formatos de salida:

Cada salida de caso de prueba por línea, sentencia de salida después de la marcha atrás, y asegurarse de que sólo un espacio entre palabras.
Escribir tema y las ideas: En el principio que quería escribir una matriz de dos dimensiones, los resultados medio no salir;
solamente luchado otras ideas piensan que debe ser sustituido por un puntero a la matriz, y luego fue dejado fuera (un poco de vergüenza), y finalmente de ninguna manera, sólo se puede encontrar un poco de código, aprender sobre el hermano mayor.
Decidí mirar a entender el código, vuelvo a pensar acerca de sus propias ideas, trato de usar sus propias ideas para escribir de nuevo.
Código es el siguiente:

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

int main() {
	char str[500010];
	int len,real,head,count=0; 
	int i,j,k;
	gets(str);	//gets只有遇到回车才停止输入;
	len=strlen(str);	//len用来存储字符串长度; 
	for(i=len-1;i>=0;i--)	//从后往前进行
	{
		if(str[i]!=' ')
		{
			real=i;	//记录单词最后一个字母的位置 
			
			for(j=i-1;j>=0;j--)
			{
				if(str[j]==' ')	//向前遍历,遇到空格停下来 
				{
					break;                                                                                                                       
				}  
			} 
			
			head=j+1;	//指向空格的下一个空间,即单词的第一个字母
			if(count>0) //如果不是输出第一个单词,即原字符串最后一个单词,要输出一个相隔的空格
            {
                printf(" ");
            } 
            
			for(k=head; k<=real; k++)//从该单词的开头字符逐个输出到末尾字符
            {
                printf("%c", str[k]);
            }
            count++;                                                                     
            i=j;	//从遇到的空格那个位置开始,继续向前查询 
		}
	} 
	return 0;
}


Artículos originales publicados 0 · ganado elogios 0 · Vistas 10

Supongo que te gusta

Origin blog.csdn.net/qq_45354906/article/details/104905445
Recomendado
Clasificación