Ejercicios de puntero para principiantes en C++
1. La función de los siguientes cambios de función es convertir las letras minúsculas de la cadena en letras mayúsculas. Por favor complete los espacios en blanco.
# incluir & ltiostream & gt
void change() //1
{ int I = 0
for(I; = 0;;i++) //2
if(a[I]& gt;= ' a ' & amp& ampa[I]& lt;='z ')
;//3
}
int main()
{ char p[80];
cout & lt& lt”\ n";
cin.getline(p, 80); //Lee una línea de caracteres con espacios en el medio.
Change(p);
cout & lt& ltp & lt& ltendl
}
Si se ejecuta el programa, se obtienen los siguientes resultados se obtendrá:
Por favor, introduzca una línea de caracteres:
Esto es un libro..
Esto es un libro.
Respuesta: (1) char *a o char a[80]
(2) ¡Un [I] o un [I]! ='\0'
(3)A[I]= A[I]–32 o a[i]-= a[i]
2. Función de intercambio de datos implementada. Por favor complete los espacios en blanco.
# include & ltiostream & gt
void swap(int *p, int *q)
{ int temp
temp = *p;
; //1
; //2
}
int principal()
{ int a, b;
int *p1, * p2
cout & lt& lt"Ingrese dos números positivos:"; ;& gta & gt& gtb;
p 1 = & a;
p2 = &b;
intercambio(p1, p2);
cout & lt& lt"Los valores del resultado A y B:"
}
Si se ejecuta el programa se obtendrán los siguientes resultados:
Introduzca dos números positivos: 10 20.
Valores resultantes de A y B: 20, 10.
Respuesta:
(1) *p=*q
(2)* q = temp;
3. La función sort implementa la clasificación de cadenas de pequeñas a grandes en el orden del diccionario. Por favor complete los espacios en blanco.
# incluir & ltiostream & gt
void sort() //1
{ char//2
int i, j ;
for(I = 0;I<n-1-I;i++)
for(j = 0;j<n-1-I;j++)
if(strcmp() //3
{ temp = p[j];
; //4
p[j+1]= temp;
}
}
int main()
{
char *a[5] ={ "estudiante","trabajador","cuadro","soldado","Apen"};
sort(a, 5);
for(int I = 0;i<5 ;i++)
cout & lt& lta[I]& lt;& ltendl
}
Los resultados de ejecución del programa son los siguientes:
Apeng
Cuadros
Soldados
Estudiantes
Trabajadores
Respuesta: (1) char * p [], int n.
(2)*temperatura
(3)p[j], p[j+1])>0
(4)p[j]=p[j+1]
4. La función de buscar es encontrar el elemento con valor x en el grupo indexado por el puntero P y devolver el elemento después de encontrarlo. . subíndice; de lo contrario, se devuelve -1, corrija el error de declaración en el programa y ejecútelo correctamente.
# include & ltiostream & gt
# include & ltstdlib.h & gt
const int N = 10
int find; (int *p, int n, int x) //1
{ int I; // 2
*(p+n)= x //3
mientras(*p+i!=x) //4
i++; //5
if (i!=n) //6
Devuelve 1; //7
Otros
return-1; //8
}
int main()
{ int i, pos, x;
int * p = nuevo int[N]
for(I = 0;i<n;i++ )
*(p+I)= rand()% 50;
for(I = 0;i<n;i++)
cout & lt& lt*(p +I)& lt;& lt\ t ';
cout & lt& lt"\nIngrese x:";
CIN>& gtx;
pos =find(p, N, x);
If (pos!=-1)cout & lt; & lt" index = " & lt& ltpos & lt& lt", valor = " & lt& lt* (p+pos)& lt;& ltendl
else cout & lt& lt"¡No encontrado! "& lt& ltendl
}
Respuesta: (1) Cambie la declaración de 2 líneas a int I = 0;
(2) Cambie la declaración de cuatro líneas a while(*(p+i)!= x);
< The p> (3) la declaración de la línea 7 se cambia para devolver I.Cuarto, cuestiones de programación
1. Escribe una función para transponer una matriz cuadrada de n orden. Los requisitos específicos son los siguientes:
(1) Inicialice una matriz A (5 × 5) y los valores de los elementos se toman de la función aleatoria y la salida.
(2) Pasar a la función para implementar la transposición matricial.
(3) Genera la matriz transpuesta en la función principal. (Consejo: puede utilizar la función rand() de la biblioteca C++ en el programa. Su función es generar un número aleatorio del 0 al 65535. El archivo de encabezado es stdlib.h)
2. escriba la función strcat() para implementar la concatenación de un extremo a otro de dos cadenas (concatene la cadena str2 al final de str1 y cancele el último '\ 0' de str1).
3. Escribe una función para encontrar la cadena más larga entre varias cadenas.
4. Escriba un programa que reciba dos números enteros como parámetros en la línea de comando y genere la suma de los dos números enteros. (Consejo: puede utilizar la función de biblioteca C++ atoi() en el programa, que se utiliza para convertir cadenas en valores enteros. El archivo de encabezado es stdlib.h).