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