Programmation classique en langage C 282 cas 06

030 Utilisation de constantes numériques

Les constantes numériques courantes en langage C sont des constantes entières et des constantes réelles. Différentes constantes ont des exigences différentes.
Condition: sortie au format décimal, octal et hexadécimal: 123, puis sortie 123,4 au format décimal standard et scientifique sous forme de nombres à virgule flottante
Insérez la description de l'image ici
Insérez la description de l'image ici

#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 Utilisation de variables de caractère

Définissez 4 variables de caractère et attribuez des valeurs à ces 4 variables de caractère, puis utilisez l'instruction de sortie pour les sortir
Insérez la description de l'image ici

#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 Trouver les nombres premiers entre 100 et 200

Le nombre premier (nombre premier) , également connu sous le nom de nombre premier, fait référence au nombre d'entiers naturels supérieur à 1, sauf 1 et le nombre lui-même, qui ne peut pas être divisible par d'autres nombres naturels (il peut également être défini comme un nombre avec seulement deux facteurs positifs: 1 et le nombre lui-même).

L'utilisation est 试除法relativement simple, mais cela prend beaucoup de temps: supposons que le nombre naturel à tester est} n, et ceux qui utilisent cette méthode doivent tester les entiers entre 2 et sqrt {n} un par un pour s'assurer qu'aucun des eux peuvent diviser 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 Utiliser le triangle #output

Utilisez le caractère d'échappement \ 40 pour afficher les espaces, combiné avec la sortie #

#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 Conversion décimale en binaire

Insérez la description de l'image ici

  • Point clé: utilisez un tableau pour stocker à chaque fois le résultat de la prise du reste de 2. Lors de la définition du type de données, définissez le tableau et attribuez à tous les éléments de données la valeur initiale de 0;
  • Dans la première boucle, chaque fois que le résultat de la prise du reste de 2 est stocké dans le tableau, il est stocké à partir d'un [0]. Par conséquent, la sortie doit être dans l'ordre inverse.
  • % Cherchez le reste.
———————— 官方 ——————————
#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 en décimal

Entrez un nombre arbitrairement et entrez un nombre décimal, puis il sera converti en nombre décimal et en sortie.

Insérez la description de l'image ici
Insérez la description de l'image ici

  • Utilisez le tableau de caractères a pour stocker un nombre de base n, puis jugez chaque élément du tableau.

  • Est le nombre 0 ~ 9

t = a[i] - '0';
  • Sont des lettres
t = a[i] - 'A' + 10;

Insérez la description de l'image ici

#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");
 } 

Je suppose que tu aimes

Origine blog.csdn.net/qq_41070511/article/details/110382967
conseillé
Classement