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

1. Descripción del tema:
escribir una función para juzgar números primos, ingresar un número entero en la función principal y mostrar si es un número primo.

#include<stdio.h>
int isprime(int n)
{
    
    
	int i;
	for(i=2;i<=n/2;i++)
	{
    
    
		if(n%i==0)
		{
    
    
			return 0;
		}
	}
	return 1;
}
int main(void)
{
    
    
	int number;
	printf("请输入一个整数:\n");
	scanf("%d",&number);
	if(isprime(number))
	{
    
    
		printf("该数是一个素数,"); 
	}else{
    
    
		printf("该数不是一个素数");
	}
	return 0;
}

2. Descripción del título:
escribe el método de la función dayInMonth (int y, int m). La función de la función es calcular el número de días contenidos en el mes m del año y.

#include<stdio.h>
int dayInMonth(int y,int m)
{
    
    
	int monthtab[12]={
    
    31,28,31,30,31,30,31,31,30,31,30,31};
	if((y%4==0)||(y%100!=0&&y%4==0))
	{
    
    
		if(m==2)
		{
    
    
			return 29;
		}
	}
	return monthtab[m-1];
 } 
 int main(void)
 {
    
    
 	int year,month;
 	printf("请分别输入年月:\n");
 	scanf("%d%d",&year,&month);
 	printf("包含的天数为%d",dayInMonth(year,month));
 	return 0;
 }

3. Descripción del título:
13 personas forman un círculo e informan los números 1, 2 y 3 en orden desde la primera persona. Los que reporten a 3 lanzarán el círculo. Averigüe el número de serie original de la última persona que queda en el círculo. Requiere procesamiento con una lista enlazada.

#include<stdio.h>
struct people
{
    
    
	int no;
	int next;
}peoples[13];
int main()
{
    
    
	int i,j,count;
	int number=13;
	for(i=0;i<13;i++)
	{
    
    
		peoples[i].no=i+1;
		peoples[i].next=i+1;
		if(i==12)
		{
    
    
			peoples[i].next=0;
		}
	 } 
	 i=0;
	 count=0;
	 while(number>1)
	 {
    
    
	 	printf("number=%d\n",number);
	 	
	 	if(peoples[i].no!=0)
	 	{
    
    
	 		count++;
	 		
	 		if(count==3)
	 		{
    
    
	 			peoples[i].no=0;
	 			number--;
	 			count=0;
			 }
			 
		 }
		 i=peoples[i].next;
	 }
	 for(i=0;i<13;i++)
	 {
    
    
	 	printf("%d",peoples[i].no);
	 	if(peoples[i].no!=0)
	 	{
    
    
	 		printf("最后剩下的人的序号为%d",peoples[i].no);
		 }
	 }
	 return 0;
}

Nota: 1. Lo que se proporciona en el libro está hecho de una lista enlazada estática, y otros lugares son una lista enlazada dinámica.
2. Cuando instruya al último, déjelo señalar el puntero de la cabeza nuevamente.

4. Descripción del título:
suponga que cada línea de texto se lee en el archivo data.txt a la vez, y el orden de los caracteres de cada línea de texto se invierte, es decir, el carácter en la posición k original aparecerá en la posición de n-k+1, donde n es la longitud del texto de la línea (excluyendo el último retorno de carro, avance de línea o final del archivo), y finalmente guarda el texto de cada línea con el orden inverso de los caracteres en el resultado del archivo .TXT.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void reverse(char *str)
{
    
    
	
	int end=strlen(str)-1;
	int start=0;
	char temp;
	while(start<=end)
	{
    
    
		temp=str[end];
		str[end]=str[start];
		str[start]=temp;
		start++;
		end--;
	}
}
int main(void)
{
    
    
	FILE *fd;
	FILE *fr;
	char arr[1000];
	int n;
	int len=0;
	if((fd=fopen("data.txt","r"))==NULL)
	{
    
    
		printf("can not open this file.");
		exit(0);
	}
	if((fr=fopen("result.txt","w"))==NULL)
	{
    
    
		printf("can not open this file.");
		exit(0);
	}
	while(!feof(fd))
	{
    
    
		fgets(arr,1000,fd);
		n=strlen(arr);
		if(arr[n-1]=='\n')
		{
    
    
			n-=1;
		}
		
	int end=n-1;
	int start=0;
	char temp;
	while(start<=end)
	{
    
    
		temp=arr[end];
		arr[end]=arr[start];
		arr[start]=temp;
		start++;
		end--;
	}
		fprintf(fr,"%s",arr);
	   
	}
	fclose(fd);
	fclose(fr);
	return 0;
}

Nota:
1. La condición en el título es un número de líneas, por lo que el número de líneas no se puede dar directamente, pero la función fscanf() también considera el espacio como el signo del final del archivo. en el libro de texto.
2. Use la función feof() para determinar si es el final del archivo, lea 1000 caracteres cada vez y cuando encuentre un retorno de carro, la longitud debe ser
-1.strlen incluye el carácter de nueva línea, excluyendo el terminador.

Supongo que te gusta

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