//5.输入两个正整数m和n,求m和n的最大公约数和最小公倍数//这是用到了辗转相除法,不知道什么是辗转相除法,请问度娘/*#include
int max(int a,int b){int t;do            //此处需要用到do-while,我原本是想就用while循环的,是这样写的 while(t!=0) {             //但我发现,如果这样写的话,t一开始没有值, 所以也就错了,   {t=a%b;t=a%b;        // 所以我用do-while,让程序先执行一次,这样,t便有值了。        a=b;a=b;          // 记住,while语句先判断,后执行,而do-while是先执行一次,     b=t;  b=t;          //  然后再判断条件,所以,while语句有可能一次也不执行,       }          }while(t!=0); //  但do-while语句最少要执行一次。                             return a;  return a;}int min(int c,int d){int t;t=c*d/max(c,d);//两个数相乘再除以最大公约数,就是两个数的最小公倍数,return t;      //此处用到了一个嵌套调用,也就是t=c*d/max(c,d),max(c,d)便是嵌套调用,}              //注意,在主函数中传过来的值是用形参c,d接收的,所以max(c,d)中必须写c,d,int main()     //而不能写成max(m,n)或max(a,b),切记!{int m,n,x,y;scanf("%d%d",&m,&n);x=max(m,n);y=min(m,n);printf("最大公约数是%d\n最小公倍数是%d\n",x,y);return 0;}*///当然,辗转相除法的确好,但如果不知道这个方法的话,是不是就写不出这个程序了呢,//非也,在期末考试的时候,我就忘了什么是辗转相除法,但我知道什么是最小公约数啊//(如果不知道什么是最小公约数,请撞墙!)//所以,下面这个程序就是我在期末考试中写的程序,只是在求最大公约数上和上面的程序有所不同,//其他地方大致一样/*#include
int max(int a,int b){int i,t;for(i=2;i<=a/2;i++)//首先,用for循环,i从2开始就行了。因为从0,1开始没意义,if(a%i==0&&b%i==0) //一直循环到较小的一个数的一半就行了,当然,此处我不知道哪个数大哪个数小,t=i;               //没事,就算是循环到较大的数的一半也行,因为我是除嘛,如果a和b除以i之后,return t;          //余数为0,就表示可以除尽,然后就把这个i赋给t,因为i是不断增大的,所以肯}                  //定有比原来的i更大的数,也就是现在的i能被除尽,同样,将现在的i的值赋给t,int min(int c,int d)//那么,原来的t的值也就是原来i的值不就被现在的i的值给取代了嘛,所以,{                   //最后的t的值就是能被a,b整除的最大的一个数,也就是最大公约数int t;t=c*d/max(c,d);return t;}int main(){int m,n,x,y;scanf("%d%d",&m,&n);x=max(m,n);y=min(m,n);printf("最大公约数是%d\n最小公倍数是%d\n",x,y);return 0;}*/
//6.输入一个年份,判断是否为闰年(是闰年的条件:1能被4整除但不能被100整数。2能被100整除,//又能被400整除)//这是我认为最简单的写法,使用的是逻辑运算符/*#include
int main(){int x;scanf("%d",&x);if(x%4==0&&x%100!=0)   //注意:if只管后面“一个”语句,也就是说,if语句只对紧跟其后的一个printf("%d是闰年\n",x);//语句起作用else if(x%100==0&&x%400==0)//注意:else总是与它上面的最近的未配对的if配对printf("%d是闰年\n",x);else printf("%d不是闰年\n",x);return 0;}*///这是书上的写法,比较麻烦,不过也有比较好的地方,输入一个数,判断结束后,可以继续输入//其他数,直到你想退出,不想再输入数了#include
int main(){char ch;int year;do{printf("please enter year\n");scanf("%d",&year);if(year%4==0)if(year%100!=0)printf("%d is leap!\n",year);else if(year%400==0)printf("%d is leap!\n",year);else printf("%d is NOT leap!\n",year);elseprintf("%d is NOT leap!\n",year);printf("if continued,press Y,otherwise press any key abort\n ");scanf("%1s",&ch);}while(ch=='Y'||ch=='y');//此处用到了一个do-while循环,目的是使程序可以连续输入,注意,return 0;                //while();后面的分号一定不能忘记}