输入任意三个数,按从大到小排列:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
//输入
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d", &a, &b, &c);
//调整
if (a < b)
{
int min1;
min1 = a;
a = b;
b = min1;
}
if (a < c)
{
int min2;
min2 = a;
a = c;
c = min2;
}
if (b < c)
{
int min3;
min3 = b;
b = c;
c = min3;
}
//输出
printf("%d %d %d\n", a, b, c);
return 0;
}
从大到小排列数字,打印结果如下:
//写一个代码打印1-100之间所有3的倍数的数字
int main()
{
int i ;
for (i = 1; i < 34; i++)
{
int a = 3 * i;
i++;
if (a < 100)
{
printf("%d ", a);
}
}
return 0;
}
打印结果如图:
3、计算两个数的最大公约数
两个方案,第一:
//给定两个数,求两个数的最大公约数
int main()
{
int m = 0;
int n = 0;
int max = 0;
scanf("%d %d", &m, &n);
if (m > n)
{
max = m;
}
else
{
max = n;
}
while (1)
{
if ((m % max == 0) && (n % max == 0))
{
printf("最大公约数是:%d",max);
break;
}
max--;
}
return 0;
}
第二:辗转相除法:
int main()
{
int m = 0;
int n = 0;
scanf("%d %d", &m, &n);
int t = 0;
while (t = m % n)//
{
//t = m % n;
m = n;
n = t;
}
printf("最大公约数是:%d", n);
return 0;
}
这个辗转相除法要注意
这里的是辗转相除法的精髓,得好好理解。
最小公倍数 = m*n/最大公约数;
4.输出1000-2030的闰年
//4.打印1000 - 2000的闰年
int main()
{
int y = 0;
while (1)
{
//能被4整除,不能被100整除是闰年。
//能被400整除是闰年;
for (y = 1000; y <= 2030; y++)
{
if (y % 4 == 0)
{
if (y % 100 != 0)
{
printf(" %d ", y);
}
}
if (y % 400 == 0)
{
printf(" %d ", y);
}
}
return 0;
}
}
不能被100整除的才对,思路要清晰才能搞好代码,打印结果如下。
当然 if((y%4==0)&&(y%100!=0))||(y%400==0))这个判断也行,而且更加简洁。