intmain() { int m = 0; int n = 0; int tmp = 0; scanf("%d%d", &m, &n); tmp = m > n ? m : n; // 三目运算符,如果m>n则m赋值给tmp,否之赋值n给tmp while (1) { if (m % tmp == 0 && n % tmp == 0) break; tmp--; } printf("最大公约数:%d\n", tmp);
return0; }
三目运算符
三目运算符也叫条件运算符,结合方向是从右至左。
基本形式: <表达式1> ? <表达式2> : <表达式3>
比较原理:表达式1是否为真,如果为真,执行表达式2,否则执行表达式3.
例如:tmp = m > n ? m : n; // 如果m>n则m赋值给tmp,否之赋值n给tmp
//用三目运算符比较三个数的大小 #include<stdio.h> intmain() { int a = 3,b = 4,c = 5,max1,max2,max3;//max用来存储最大的数字 //有三种不同的写法: //max1的原理:先求A和B的最大值,再去和c比较 //max2的原理:先让A和B比较,A大就让A和C比较,反之B和C比较 //max3的原理:先让A和B比较,<表达式1>为真(A大)就让A和C比较,反之B和C比较 max1 = (a > b ? a : b) > c ? (a > b ? a : b) : c ; max2 = a > b ? (a > c ? a : c) :(b > c ? b : c); max3 = (a > b ? a : b) ? (a > c ? a : c) : (b > c ? b : c); printf("max1:%d\n",max1); printf("max2:%d\n",max2); printf("max3:%d\n",max3); }
intmain() { int m = 0; int n = 0; int tmp = 0; scanf("%d%d", &m, &n); while (m % n) { tmp = m % n; m = n; n = tmp; } printf("最大公约数:%d\n", n); return0; }
打印闰年
打印1000年到2000年之间的闰年
闰年数(英文名称:leap year ),定义:阳历或阴历中有闰日的年,或阴阳历中有闰月的年。闰年一般是每四年一次,也可以说一般每四年中有一年是闰年。