Programación clásica en lenguaje C 282 casos 06

030 Uso de constantes numéricas

Las constantes numéricas comunes en lenguaje C son constantes enteras y constantes reales. Las diferentes constantes tienen diferentes requisitos.
Requisito: Salida en formato decimal, octal y hexadecimal: 123, y luego salida 123.4 en formato decimal estándar y científico en forma de números de coma flotante
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
	int i = 123;
	float j = 123.4;
	
	printf("%4d\n", i);		//输出十进制
	printf("%4x\n", i);		//输出十六进制
	printf("%4o\n", i);		//输出八进制
	
	printf("%4f\n", j);     //输出浮点数

     printf("\n");
 } 

031 Uso de variables de carácter

Defina variables de 4 caracteres y asigne valores a estas variables de 4 caracteres, y luego use la declaración de salida para generarlas
Inserte la descripción de la imagen aquí

#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
	char a, b, c, d;
	a = 'A';
	b = 'B';
	c = 'C';
	d = 'D';
	
	printf("%5c%5c%5c%5c", a, b, c, d );	
	
    printf("\n");
 } 

032 Encuentra números primos entre 100 y 200

Número primo (Número primo) , también conocido como número primo, se refiere al número de números naturales mayores que 1, excepto 1 y el número en sí, que no puede ser divisible por otros números naturales (también se puede definir como un número con solo dos factores positivos: 1 y el número en sí).

El uso es 试除法relativamente simple, pero lleva mucho tiempo: suponga que el número natural que se va a probar es} n, y quienes usan este método deben probar los enteros entre 2 y sqrt {n} uno por uno para asegurarse de que ninguno de ellos pueden dividir n.

//  试除法(官方)
让i被2~ sqrt(i),如果i能被2~sqrt(i)之间的任何一个整数整除,则循环结束,
若不能被整除,则要判断j是否是最接近或等于sqrt(i),是证明是素数,
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
	int i, j, n = 0;
	
	for(i = 100; i <= 200; i++)
	{
    
    
	    for(j = 2; j <= sqrt(i); j++)
	    {
    
    
	    	if(i % j == 0)
	    	{
    
    
	    		break;
			}
			else
			{
    
    
				if(j > sqrt(i) - 1)
				{
    
    
					n++;
					printf("%5d", i);
			
					if(n % 5 == 0)
					{
    
    
				 		printf("\n");
					}
				}
				else 
				{
    
    
					continue; 
				} 
				
			}
		}	
	}
	
     printf("\n");
 } 
//—————————— ME  ——————————————————————
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

int ss(int i)
{
    
    
	int m;
	
	if(i == 1)
	{
    
    
		return 0;
	}
	
	if(i == 2)
	{
    
    
		return 1;
	}
	
	for(m = 2; m < i; m++)
	{
    
    
		if(i % m == 0)
		{
    
    
			return 0;
		}
		else if( i != m + 1)
		{
    
    
			continue;
		}
		else
		{
    
    
			return 1;
		}
	}
}

  main()
{
    
    
	int i, j, n = 0;
	
	for(i = 100; i <= 200; i++)
	{
    
    
		j = ss(i);
		if(j)
		{
    
    
			n++;
			printf("%5d", i);
			
			if(n % 5 == 0)
			{
    
    
				 printf("\n");
			}
		}
	}
	
     printf("\n");
 } 

033 Utilice # triángulo de salida

Utilice el carácter de escape \ 40 para generar espacios, combinados con el resultado #

#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
	char a;
	a = '#';
	 
   	printf("\40\40%c\n", a);
   	printf("\40%c\40%c\n", a, a);
   	printf("%c\40%c\40%c\n", a, a, a);
    printf("\n");
 } 
//_____   me   ______
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
   	printf("  #  \n");
   	printf(" # #\n");
   	printf("# # #\n");
    printf("\n");
 } 

034 Convertir decimal a binario

Inserte la descripción de la imagen aquí

  • Punto clave: Utilice una matriz para almacenar el resultado de tomar el resto de 2. Al definir el tipo de datos, defina la matriz y asigne todos los elementos de datos al valor inicial de 0;
  • En el primer ciclo, cada vez que el resultado de tomar el resto de 2 se almacena en el arreglo, se almacena a partir de un [0], por lo que la salida debe estar en orden inverso.
  • % Busque el resto.
———————— 官方 ——————————
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
    int i, j = 0, n, m;
    int a[16] = 
	{
    
    
		0
	};
	system("cls");
	
	printf("请输入一个十进制数(0 ~ 32767)\n");
    scanf("%d", &n);
    
    for(m = 0; m < 15; m++)
    {
    
    
    	i = n % 2;
    	j = n / 2;
    	n = j;
    	a[m] = i;
	}
   
	
	for(m =15; m >= 0; m-- )
	{
    
    
		printf("%d ", a[m]);
		if(m % 4 == 0)
		{
    
    
			 printf(" ");
		}
	}
	 	
    printf("\n");
 } 
————ME——————
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>

  main()
{
    
    
    int i, j = 0, n, m;
    int a[12];
    scanf("%d", &i);
    
    while( i / 2 != 0)
    {
    
    
	   m = i % 2;
	   a[j] = m;
	   j++;
	   i = i / 2;
	}
	
	if( i / 2 == 0)
	{
    
    
		a[j] = i % 2;
		j++;
	}
	
	for(n = j - 1; n >= 0; n-- )
	 printf("%d ", a[n]);
	
    printf("\n");
 } 

036 Convertir n base a decimal

Ingrese un número arbitrariamente e ingrese un número decimal, luego se convertirá a un número decimal y se emitirá.

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  • Utilice la matriz de caracteres a para almacenar un número de base n y luego juzgue cada elemento de la matriz.

  • Es el número 0 ~ 9

t = a[i] - '0';
  • Son letras
t = a[i] - 'A' + 10;

Inserte la descripción de la imagen aquí

#include<stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#include<string.h>

  main()
{
    
    
	long t1;
    int i, n, t, t3;
    char a[10];
	
	printf("请输入一个n进制数\n");
    gets(a);   							//输入n进制数存到数组a中
    strupr(a);							//将a中的小写字母转换成大写字母
    t3 = strlen(a);						//求出数组a的长度
    t1 = 0;
    
    printf("请输入是几进制\n");
    scanf("%d", &n);
    
   for(i = 0; i < t3; i++)
   {
    
    
   	  if(a[i] - '0' >= n && a[i] < 'A' || a[i] - 'A' + 10 >= n)
   	  {
    
    
   		 printf("输入有误!!");
   		 exit(0); 
	  }
	  
	  if(a[i] >= '0' && a[i] <= '9')
	  {
    
    
	  	 t = a[i] - '0';
	  } 
	  else if(n >=11 && (a[i] >= 'A' && a[i] <= 'A' + n - 10))
	  {
    
    
	  	t = a[i] - 'A' + 10;
	  }
	  
	  t1 = t1 * n + t;					//求出十进制
   }
     
	printf("十进制形式是:%1d\n", t1);	
    printf("\n");
 } 

Supongo que te gusta

Origin blog.csdn.net/qq_41070511/article/details/110382967
Recomendado
Clasificación