Se necesita con urgencia ~ Preguntas del examen en línea de nivel 2 C
1. Complete los espacios en blanco
Agregue la función principal. La función de la función es convertir todos los caracteres alfabéticos en minúsculas de la cadena a caracteres alfabéticos en mayúsculas, dejando los demás caracteres sin cambios y guarde el resultado. en la cadena original.
Por ejemplo, cuando str[N]="123 abcdef ABCDEF!", el resultado es "123 abcdef abcdef!": "123 abcdef abcdef!".
Nota: Parte del programa fuente se proporciona a continuación.
No cambies nada en la función principal ni en otras funciones. Solo completa algunas expresiones o declaraciones en las líneas horizontales de la función divertida.
Programa de prueba:
#include
#include
#include
#define N 80
void main()
{
int j;
char str[N]=" 123abcdef ABCDEF!";
char *pf=str;
clrscr();
printf("***cadena original ***\n");
puts(str);
1;
while(*(pf+j))
{
if(*(pf+j)>='a'&&*(pf+j)<='z')
{
*(pf+j)=2;
j++;
}
más
3;
}
printf("******nueva cadena******\n");
puts(str);
system("pause");
}
2. Pregunta de corrección
En el programa que se proporciona a continuación, la función de la función fun() es Comparar el caracteres en las posiciones correspondientes de las dos cadenas a y b una por una, y almacene los caracteres cuyo valor ASCII sea menor o igual a estos caracteres en la matriz c para formar una nueva cadena.
Por ejemplo, si la cadena en a es fshADfg y la cadena en b es sdAEdi, entonces la cadena en c debería ser fdAADf.
Corregir errores en el programa para que dé resultados correctos.
Nota: No cambie la función principal, no agregue ni elimine líneas, ni cambie la estructura del programa.
Programa de prueba:
#include
#include
void fun(char * p,char *q,char *c)
{ int k=0;
while(*p||*q)
/*** *******************encontró****************************** /
{ if (*p<=*q)
c[k]=*q;
más c[k]=*p;
si (*p) p++;
si (*q) q++
/***************; ******* encontrado************************/
k++
}
}
main()
{ char a[10]="fshADfg",b[10]="sdAEdi",c[80]={'\ 0'}; p>
fun(a,b,c);
printf("La cadena a: ");
printf ("La cadena b: "); pone(b);
printf("El resultado:"); pone(c);
}
3. Problemas de programación
Función de escritura divertida. Su función es combinar dos enteros positivos de dos dígitos a y b en un entero y ponerlo en c. El método de fusión consiste en poner las decenas y las unidades del número a en las unidades y las decenas del número c, y poner las decenas y las unidades del número b en las centenas del número c y en miles.
Por ejemplo, cuando a=16 y b=35, después de llamar a esta función, c=5361.
Nota: Parte del programa fuente se proporciona a continuación.
No modifiques nada en la función principal ni en otras funciones. Simplemente completa las llaves de la función divertida con las declaraciones que escribiste.
Programa de prueba:
#include
void fun(int a,int b,long *c)
{
}
main()
{
int a,b
long c;
clrscr();
printf("Entrada a,b;");
scanf("%d%d",&a, &b);
fun(a,b,&c);
printf("El resultado es: %ld\n",c);
}
1. Complete los espacios en blanco
Ingrese un conjunto de números enteros sin signo desde el teclado y guárdelos en la matriz xx[N], finalizando la entrada con el número entero 0. Se requiere que los números tengan un máximo de 4 dígitos, y su número de elementos se pasa a la función fun() a través de la variable num. Agregue la función fun (), cuya función es encontrar todos los números enteros sin signo con la suma del primer y décimo dígito mayor que 5 de la matriz xx y almacenar los resultados en la matriz yy. Se determina el número de la matriz yy. por la función fun() devuelve.
Por ejemplo, cuando xx[8]={123,11,25,222,42,333,14,5451},
bb[4]={25,42,333,5451}.
Nota: Parte del programa fuente se proporciona a continuación.
No cambies nada en la función principal ni en otras funciones, simplemente completa algunas expresiones o declaraciones en las líneas horizontales de la función divertida.
Programa de prueba:
#include
#define N 1000
int fun(int xx[], int bb[],int num)
{
int i, n=0;
int g, s;
para (i=0;i { g=1; s=xx[i]/10%10; p> p> if((g+s)>5) 2; } return3; } main() { int xx[N]; int yy[N]; p> int num=0,n=0,i=0; printf("Número de entrada:\n"); hacer { scanf("%u",&xx[num]); } while(xx[num++]!=0); p> n=fun(xx,yy,num); printf("\nyy="); for(i=0;i printf("%u ",yy[i]); } Pregunta de corrección En el programa. Como se muestra a continuación, la función de la función fun() es encontrar el carácter con el valor ASCII más pequeño en la cadena str, colocarlo en la primera posición y mover el carácter original antes de este carácter en orden hacia atrás. Por ejemplo, si se proporciona la cadena fagAgBDh antes de llamar a la función fun(), el contenido de la cadena después de la llamada será AfaggBDh. Corregir errores en el programa para que dé resultados correctos. Nota: No cambie la función principal, no agregue ni elimine líneas, ni cambie la estructura del programa. Programa de prueba: #include /****************** ****encontrado************************/ diversión vacía(char p) { char min, *q; int i=0; min=p[i]; mientras (p[ i ]! = 0) { si (min>p[i]) { /**** * *******************encontrado******************************/ p=q+i; min=p[i];< } i++; } mientras(q>p) {*q=*(q-1); q--; } p[0]=min; } principal() { carácter str[80]; printf("Ingrese una cadena: "); gets(str); printf("\nLa cadena original: " puts(str); fun (str); printf("\nLa cadena después del movimiento: "); p> puts(cadena) printf("\n\n"); } } 3. issues Las puntuaciones de N estudiantes se colocan en una estructura de lista vinculada con un nodo principal en la función principal, y h apunta al nodo principal de la lista vinculada. Escriba una función fun() que haga lo siguiente: Encuentra la puntuación más baja del estudiante, según lo devuelto por el valor de la función. Nota: Parte del programa fuente se proporciona a continuación. No realice ningún cambio en la función principal ni en otras funciones. Simplemente complete las declaraciones escritas entre llaves de la función divertida. Programa de prueba: #include #include #define N 8 struct slist { double s; struct slist *siguiente; }; typedef struct slist STREC; doble diversión(STREC *h) { } STREC *creat (doble *s) { STREC *h,*p,*q; int i=0; h=p=(STREC*)malloc (sizeof(STREC)); p->s=0; while(i<N) /* Genera una lista enlazada compuesta por 8 nodos, cada nodo Las puntuaciones todos se ingresarán en la lista vinculada*/ {q=(STREC*) malloc(sizeof(STREC)); p->s=s[i]; p-> next=q; p=q; } p-> next=NULL; return h; de la lista de cadenas */ } outlist(STREC *h) { STREC *p; p=h; printf("cabeza"); hacer {printf ("->%2.0f ",p-> s); p=p->next;} /*Salida de cada puntuación*/ while(p!=NULL); printf("\n\n "); } main() { doble s[N]={56,89,76,95, 91,68, 75,85}, min; STREC *h; h=creat(s); outlist(h); p> min=diversión(h); printf("min=% 6.1f\n ",min); }