2065438+25 de abril de 2008 16:48:30? Fuego, ¿vale? Lectura número 3813
Descripción del título: escriba un programa para ingresar pinyin en inglés y chino en secuencia, ingrese dos "*" para indicar el final de la entrada, luego ingrese una oración en inglés e imprima su pinyin chino correspondiente.
Requisito: No utilizar
Requisito de título
# include & ltstdio.h & gt# include & ltstdlib.h & gt#define M 100struct tran / / Construir una estructura para almacenar Pinyin en inglés y chino correspondiente { char English[M]; char Chinese[M] } n[M]; //Declarar una función personalizada que mide la longitud de la matriz intmy_strcmp (char * STR1, char * str 2);? //Declara una función personalizada int main(), utilizada para determinar si dos cadenas son iguales {int i = 1, j, k; char a[M], * p = a; ingrese Pinyin chino:\ n "); while (n[i-1].English[0]!='*'||n[i-1].Chinese[0]!='*')?// Entrada terminación al ingresar dos "*" {printf("Por favor ingrese el grupo %d \t\t ", I scanf("%s%s ", n[i]. Inglés, n[i]. Chino); i++; } printf("Ingrese una oración\ n "); getchar(); //Reciba el último retorno de carro para evitar que el siguiente scanf() no pueda ingresar en scanf (" %[\ n]", a) ; for(I = 0; a[i]!='\0';i++){if(my_strcmp(p,n[i]).English)== 1){ p = p+my_strlen(n[I ] .English)+1; //Mueve el puntero P de regreso a la segunda palabra printf("%s", n[i]). chino); yo =-1;? //Continúa con el siguiente ciclo I = 0 } } printf(" \ n "); system("pause"); return } int my_strcmp(char* str1, char * str 2){ int flag = 0; ( * cadena 1 = = * cadena 2){ cadena 1++; bandera ==0) devolver 0;} int my_strlen(char a[]){int i, k = 0 for(I = 0; a[i]!='\0';i++){ k++;} return k ; }
El siguiente es un programa de ejemplo: