例 5.1 使用单分支条件结构输出两个数的最大值。
#include<stdio.h> int main() { int a,b,max; scanf("%d,%d",&a,&b); if(a>b) max=a; if(a<=b) max=b; printf("max=%d\n",max); return 0; }
例 5.2 用双分支条件语句求最大值。
#include<stdio.h> int main() { int a,b,max; scanf("%d,%d",&a,&b); if(a>b) max=a; else max=b; printf("max=%d\n",max); return 0; }
例5.3 用三元运算符求最大值。
#include<stdio.h> int main() { int a,b,max; printf("Input a,b\n"); scanf("%d %d",&a,&b); max=a>b? a:b; printf("%d\n",max); return 0; }
例 5.4 计算一元二次方程。分a=0,b^2-4ac>0,<0,=0几种情况。
#include<stdio.h> #include<math.h> int main() { double a,b,c,d,x1,x2; scanf("%lf %lf %lf",&a,&b,&c); d=b*b-4*a*c; if(a==0) { printf("这不系一元二次方程!\n"); } else if(d<0) { printf("冇实数解!\n"); } else if(d==0) { printf("有唯一解!\n"); x1=(-b)/(2*a); printf("%lf\n",x1); } else { printf("有俩解!\n"); x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("%lf\n%lf\n",x1,x2); } return 0; }
例 5.5 计算器。两个数输入表达式计算。
#include<stdio.h> int main() { double a,b,c; char x; scanf("%lf%c%lf",&a,&x,&b); switch(x) { case '+': c=a+b; break; case '-': c=a-b; break; case '*': c=a*b; break; case '/': c=a/b; break; default: break; } printf("%lf",c); return 0; }
例 5.6 修改5.5的程序,允许操作数和运算符之间可以加上任意多个空格。
scanf("%lf %c%lf",&a,&x,&b); //%c前面有一个空格