Tarea 1: Completa el siguiente programa. La función max () encuentra las palabras más largas y las mismas en inglés en s1 y s2 de las dos cadenas de palabras en inglés dadas s1 y s2. El caso de la misma letra se considera como caracteres y palabras diferentes Todos están compuestos por letras en inglés y las palabras están separadas por uno o más caracteres en blanco.
#include <stdio.h>
#include <string.h>
char s1 [] = ”Esta es una prueba de programación de CA”;
char s2 [] = “Esta es una prueba de programación en C”;
max (char * s1, char s2 )
{ } main () { clrscr (); // Borrar la función de pantalla max (s1, s2); }
*
Esta es una gran tarea que nos dio lpj en la clase de lenguaje C el semestre pasado. Parece simple pero tiene una cierta comprensión de matrices bidimensionales y punteros. El siguiente es mi código personal:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"fun.h"
void main()
{
char s1[] = "Thisssssssss is C programming textxxxxxxxxxxx";
char s2[] = "Thisssssssss is a text for C programming textxxxxxxxxxxx";
max2(s1, s2);
getchar(); getchar();
}
Lo anterior es la función principal.
#include<stdio.h>
void max2(char *s1, char *s2)
{
int i, b, c = 0, z = 0, j = 0, m = 0, f = 0;
char p[20][30] = {
0 }; //p[m][j]---q[c][f]
char q[20][30] = {
0 };
char answer[99] = {
0 };
for (i = 0; s1[i] != '\0'; i++)
{
if (s1[i] != ' ')
p[m][j++] = s1[i]; //p[0][1]被s1的[i]赋值
else
{
p[m][j] = '\0';
m++;
j = 0; //s1切块
}
}
for (i = 0; s2[i] != '\0'; i++)
{
if (s2[i] != ' ')
q[c][f++] = s2[i]; //q[0][1]被s2的[i]赋值
else
{
q[c][f] = '\0';
c++;
f = 0; //s2切块
}
}
for (i = 0; i < m + 1; i++)
{
for (b = 0; b < c + 1; b++)
{
//if (strstr(q[c], p[i]) != NULL) {
if (strcmp(p[i], q[b]) == 0) //if same
{
//if (strcmp(p[i], answer) > 0)
if (strlen(p[i]) > strlen(answer))
{
//如果大的是p[i] //p[i->m][j]--q[b->c][f]
//for (k = 0; k < i; k++)
strcpy(answer, p[i]);
//answer[k] = p[k]; //如果用strcpy(answer, p[i])会报错;
} //把p[i]拷给answer
}
}
}
printf("the same word:");
puts(answer);
}
Lo anterior es el archivo de encabezado
如果 运行 遇到 了
'strcpy': Esta función o variable puede no ser segura. Considere usar strcpy_s en su lugar. Para deshabilitar la obsolescencia, use _CRT_SECURE_NO_WARNINGS. Consulte la ayuda en línea para obtener más detalles.
请 参考 :
解决 'strcpy': Esta función o variable puede no ser segura.
Ejecutar resultados
Si te ayuda, dale me gusta.