一.输入三个随机数 按从大到小的顺序打印出来
解析:假设我们输入a b c;我们需要将大的数字一步一步移到左边;首先判断a和b的大小如果b>a;我们将b放到a位置;我们就从三位数中找出两个数的大小(b>a),然后再判断b和c的大小如果c>b则c为最大的数;将c放到a的位置,再将a和b交换位置即可;
int main ( ) { int a = 0; int b = 0; int c = 0; scanf("%d%d%d", &a, &b, & c); if (a < b) { int max = a; a = b; b = max; } if (a < c) { int max = a; a = c; c=max; } if (b < c) { int max = b; b = c; c=max; } printf("%d %d %d", a, b, c); return 0; }
二,找出1000-2000之间的闰年
什么是闰年?
1,能被4整除但不能被100整除;
2,能被400整除;
int main ( ) { int i = 0; for(i=1000;i<=2000;i++) { if (i % 4 == 0 ) { if (i % 100 != 0) printf("%d ", i); } if (i % 400 == 0) printf("%d ", i); } return 0; }
注!!!这个程序可以运用逻辑操作符进行优化;
int main ( ) { int i = 0; for(i=1000;i<=2000;i++) { if ((i % 4 == 0) && (i % 100 != 0) || (i % 400 == 0))//善于运用逻辑操作符 printf("%d ", i); } return 0; }
三,打印00-200之间的素数
什么是素数?
只能被1和它本身整除的数就是素数
解析:判断是不是素数我们只需要用这个数对 2到这个数-1 中间的每一个数取余如果有一个数取余等于0就代表这给个数不是素数;
int main() { int i = 0; for (i = 100; i <= 200; i++) //程序优化!!!:i++可以写成i+2;因为偶数就不是素数 { int j = 0; int flag = 1; for(j=2;j<i;j++) { if (i % j == 0) { flag = 0; break; } } if (flag == 1) printf("%d ", i); } return 0; }
四,求100以内3的倍数
如果一个数对三取余等于0,那么这个数就是三的倍数;
#include <stdio.h> int main() { int i = 0; for (i = 1; i <= 100; i++) { if (0 == i % 3) printf("%d ", i); } return 0; }
五,求两个数的最大公约数;
最大公约数?
两个数分别对一个数取余都等于0时,这个数就是这两个数的最大公约数;
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int n = 0; int m = 0; scanf("%d%d",&n,&m); int max = 0; if (n > m) max = m; else max = n; while (1) { if (n % max == 0 && m % max == 0) { printf("最大公约数为:%d", max); break; } max--; } return 0; }