1、求两个数的最大公约数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int m = (a > b ? b : a);
while (1)
{
if (a % m == 0 && b % m == 0)
{
break;
}
m--;
}
printf("%d\n", m);
return 0;
}
用辗转相除法求两个数的最大公约数。
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
int m = 0;
scanf("%d %d", &a, &b);
while (m=a%b)
{
a = b;
b = m;
}
printf("%d", b);
return 0;
}
2、打印1000年到2000年之间的闰年
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 1000;
for (a = 1000; a <= 2000;a++)
{
if ((a % 4 == 0 && a % 100 != 0) ||( a % 400 == 0))
{
printf("%d ", a);
}
}
return 0;
}
3、打印100~200之间的素数《素数求解的N种境界》
素数:就是质数,只能被1和它本身整除的数字。如果要判断i是否为素数,拿2~i-1的数字去试除i,如果i被整除,就说明i不是素数,如果2~i-1之间的数字都不能整除i,说明是素数。
#include<stdio.h>
int main()
{
int a = 0;
for (a = 100; a <= 200; a++)
{
int flag = 1;
int j = 0;
for (j = 2; j < a; j++)
{
if (a % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
printf("%d ", a);
}
return 0;
}
可以用开平方的方法求,若m=a*b,则a或b必定有一个是小于根号下m的。因此,可用以下求法
#include<stdio.h>
#include<math.h>
int main()
{
int a = 0;
int count = 0;
for (a = 100; a <= sqrt(a); a++)
{
int flag = 1;
int j = 0;
for (j = 2; j < a; j++)
{
if (a % j == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
printf("%d ", a);
count ++ ;
}
return 0;
}
4、编写程序数一下 1到 100 的所有整数中出现多少个数字9
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 0;
int count = 0;
for (a = 1; a < 100; a++)
{
if (a % 10 == 9)
{
printf("%d ", a);
count++;
}
if (a / 10 == 9)
{
printf("%d ", a);
count++;
}
}
printf("%d\n", count);
return 0;
}
5、分数求和 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
#include<stdio.h>
int main()
{
int a = 0;
double sum = 0;
int flat = 1;
for (a = 1; a <= 100; a++)
{
sum = sum + flat*((1.0) / a);
flat =-flat;
}
printf("%lf", sum);
return 0;
}
6、求10 个整数中最大值
#include<stdio.h>
int main()
{
int i = 0;
int arr[] = { 12,23,46,77,99,13,45,67,889,25 };
int max = arr[0];
for(i=1;i<=10;i++)
{
if (arr[i] > max)
{
max = arr[i];
}
}
printf("%d", max);
return 0;
}
7、在屏幕上输出9*9乘法口诀表
#include<stdio.h>
int main()
{
int i= 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d ", i, j, i * j);
}
printf("\n");
}
return 0;
}