Revisión de preguntas reales para cursos profesionales (2018)

1. Descripción del título:
salida de todos los "números de narcisos". Los llamados "números de narcisos" se refieren a un número tridimensional cuya suma cúbica de los dígitos es igual al número en sí. Por ejemplo, 153 es un número de narciso porque 153=1 1 1+5 5 5+3 3 3

Código:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
    
    
	int b,s,g;
	int i;
	for(i=100;i<=999;i++)
	{
    
    
		b=i/100;
		s=(i-b*100)/10;
		g=i%10;
		if((b*b*b+s*s*s+g*g*g)==i)
		{
    
    
			printf("%d\n",i);
		}
	}
	return 0;
}

2. Descripción del título:
ordenar 10 números enteros por método de selección

#include<stdio.h>
int main(void)
{
    
    
	int arr[10]={
    
    10,9,8,7,6,5,4,3,2,1};
	int i,j;
	int min,temp;
	
	for(i=0;i<10;i++)
	{
    
    
		min=i;
		for(j=i+1;j<10;j++)
		{
    
    
			if(arr[min]>arr[j])
			{
    
    
				min=j;
			}
		}
		if(min!=i)
		{
    
    
			temp=arr[min];
			arr[min]=arr[i];
			arr[i]=temp;
		}
	}
	printf("排序后的数组为:\n");
	for(i=0;i<10;i++)
	{
    
    
		printf("%d",arr[i]);
		
	}
	return 0;
}

Nota: Cada vez que encuentre uno más pequeño, debe intercambiarse con i, no con j. .

3. Descripción del título:
escriba una función, pase una cadena del parámetro real, cuente la cantidad de letras, números, espacios y otros caracteres en la cadena, ingrese la cadena en la función principal y genere los resultados anteriores.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
	int english=0;
	int space=0;
	int number=0;
	int other=0;
	
void count( char *str)
{
    
    
	
    int i;
	for(i=0;i<strlen(str);i++)
	{
    
    
		if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
		{
    
    
			english++;
		}else if(str[i]==' ')
		{
    
    
			space++;
		}else if(str[i]>='0'&&str[i]<='9')
		{
    
    
			number++;
		}else{
    
    
			other++;
		}
	 } 
	   

 } 
int main(void)
{
    
    
	char str[100];
	gets(str);
	count(str);
	 printf("英文字母的个数为%d\n",english);
	 printf("空格的个数为%d\n",space);
	 printf("数字的个数为%d\n",number);
     printf("其他字符的个数为%d\n",other);	 
	return 0;
}

Nota: Revise cuidadosamente las preguntas y los datos de salida en la función principal.

4. Descripción del título:
hay dos archivos de disco "A" y "B", cada uno de los cuales almacena una línea de letras. Ahora se requiere escribir un programa para fusionar la información en estos dos archivos (en orden alfabético) y generar a un nuevo archivo "C" para ir.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
    
    
	FILE *fa,*fb,*fc;
	int i,j;
	char a[100];
	char b[100];
	char temp;
	if((fa=fopen("A.txt","r"))==NULL)
	{
    
    
		printf("can not open this file.");
		exit(0);
	}
	fgets(a,100,fa);	
	fclose(fa);
	if((fb=fopen("B.txt","r"))==NULL)
	{
    
    
		printf("can not open this file.");
	    exit(0);
	}
	fgets(b,100,fb);
	fclose(fb);
	strcat(a,b);
	for(i=0;i<strlen(a)-1;i++)
	{
    
    
		for(j=0;j<strlen(a)-1-i;j++)
		{
    
    
			if(a[j]>a[j+1])
			{
    
    
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
		}
	}
	fclose(fb);
	if((fc=fopen("C.txt","w"))==NULL)
	{
    
    
		printf("can not open this file.");
	    exit(0);
	}
	fputs(a,fc);
	fclose(fc);
	return 0;
}

Nota:
1. Abra el archivo para cerrar
2. Función de comparación de cadenas strcmp()
3. Función de empalme de cadenas strcat()
4. Función de copia de cadena strcpy(), la última cadena sobrescribirá la cadena anterior, esta no es una función de concatenación.

Supongo que te gusta

Origin blog.csdn.net/qq_44867340/article/details/121863936
Recomendado
Clasificación