清华大学出版社 TSINGHUA UNIVERSITY PRESS 选择结构程序举例 有一函数 X(X=10 编一程序,输入一个x值,输出y值
有一函数 y= x (x=10) 编一程序,输入一个x值,输出y值。 选择结构程序举例
清华大学出版社 TSINGHUA UNIVERSITY PRESS main o Int X, y, scanf("%d",&x) if (X<1) y-X printf( x=%03d y=x%dn,x ,y) else if(X<10) {y=2*x-1 printf( x=%3d y=2x-1=%od,, x,y) {y=3*x-11; printf( x=%3dy=3*x-11=%dn,x,y)
main ( ) { int x, y; scanf("%d", &x); if (x<1) {y=x; printf(“x=%3d y=x=%d\n”,x,y) } else if (x<10) {y=2*x-1; printf(“x=%3d y=2*x-1 =%d\n”,x,y) } else {y=3*x-11; printf(“x=%3d y=3*x-11 =%d\n”,x,y) } }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 选择结构程序举例 判断某一年是否闰年。 1能被4整除同时不能被100整除的是闰年 2.能被4整除同时能被400整除的是闰年
选择结构程序举例 判断某一年是否闰年。 1.能被4整除同时不能被100整除的是闰年 2.能被4整除同时能被400整除的是闰年
清华大学出版社 TSINGHUA UNIVERSITY PRESS 我们用图513来表示判别闰年的算法。以变量leap代 表是否闰年的信息。若某年为闰年,则令leap=1; 若为非闰年,令leap=0。最后判断leap是否为 1(真),若是,则输出“闰年”信息。 year被4整除 真 year被100整除 真真 假 year被400整除 ap 假 leap=1 leap=1 leap=0 真 p 假 输出“闰年” 输出“非闰年” 图5.13
我们用图5.13来表示判别闰年的算法。以变量leap代 表是否闰年的信息。若某年为闰年,则令leap=1; 若为非闰年,令leap=0。最后判断leap是否为 1(真),若是,则输出“闰年”信息。 图5.13
清华大学出版社 TSINGHUA UNIVERSITY PRESS main (0 int year; scanf(od", &year if( year%4==0&&year %100!=0llyear%4=0&&year%400==0 printf( int is a leap year n); else printf("nlt is not a leap year. n); 运行结果: ①1989 1989 is not a leap year. ②2000 2000 is a leap year. 24
main() { int year; scanf("%d",&year); if( year%4==0&&year%100!=0||year%4==0&&year%400==0 ) printf("\nIt is a leap year.\n"); else printf("\nIt is not a leap year.\n"); } 运行结果: ① 1989 1989 is not a leap year. ② 2000 2000 is a leap year.24
清华大学出版社 TSINGHUA UNIVERSITY PRESS 选择结构程序举例 程序2: maino int yearleap: scanf(%d", &year); if(year%4==0) 能被4整除 {i(year%100==0 能被4整除能被100整除 fif(year%400=0)leap=-1;能被4整除能被100整除能被400整除 else leap 能被4整除能被100整除不能被400整除 else leap=1; 能被4整除不能被100整除 else leap=0; 不能被4整除 if(leap)printf"inlt is a leap year n); else printf( nlt is not a leap year In");
程序2: main() { int year,leap; scanf("%d",&year); if(year%4==0) 能被4整除 {if(year%100==0) 能被4整除能被100整除 {if(year%400==0) leap=1; 能被4整除能被100整除能被400整除 else leap=0;} 能被4整除能被100整除不能被400整除 else leap=1;} 能被4整除不能被100整除 else leap=0; 不能被4整除 if(leap)printf("\nIt is a leap year.\n"); else printf("\nIt is not a leap year.\n"); } 选择结构程序举例
清华大学出版社 TSINGHUA UNIVERSITY PRESS 选择结构程序举例 回文数是指正读和反读都一样的正整数。例如 3773是回文数。从键盘上任意输入一个四位正整 数判断这个数是不是回文数
• 回文数是指正读和反读都一样的正整数。例如 3773是回文数。从键盘上任意输入一个四位正整 数,判断这个数是不是回文数。 选择结构程序举例
清华大学出版社 TSINGHUA UNIVERSITY PRESS 取数字 1234怎么样把个十百千位的数字取出来呢? 1234%10=? 1234%100=? 1234%1000=? 1234/1000=? 1234/100=? 1234/10=?
• 取数字 1234怎么样把个十百千位的数字取出来呢? 1234%10=? 1234%100=? 1234%1000=? 1234/1000=? 1234/100=? 1234/10=?
清华大学出版社 TSINGHUA UNIVERSITY PRESS #include maino int a cl c2 c3 c4: printf(“ Input a numbern”); scanf(%d”,&a); c1=a%10 c2=a%100/10; c3=a%1000/100 c4=a/1000 f(cl=c4&&c2=c3) printf((“ HUWEN NUMBER Vn”) ese printf(“ NO HUIWEN \n”);
#include main() { int a,c1,c2,c3,c4; printf(“Input a number\n”); scanf(“%d”,&a); c1=a%10; c2=a%100/10; c3=a%1000/100; c4=a/1000; if(c1==c4&&c2==c3) printf(“HUIWEN NUMBER \n”); else printf(“NO HUIWEN \n”); }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 选择结构程序举例 求ax2+bx十c=0方程的解。 例4.12曾介绍过基本的算法,实际上应该有以下几 种可能: ①a=0,不是二次方程。 ②b2-4ac=0,有两个相等实根。 ③b2-4ac>0,有两个不等实根。 ④b2-4ac<0,有两个共轭复根
求ax2+bx+c=0方程的解。 例4.12曾介绍过基本的算法,实际上应该有以下几 种可能: ① a=0,不是二次方程。 ② b2-4ac=0,有两个相等实根。 ③ b2-4ac>0,有两个不等实根。 ④ b2-4ac<0,有两个共轭复根。 选择结构程序举例