第四章

@[TOC](第四章 选择结构程序设计)# 4.1 键盘输入a,b,c的值,求方程啊、ax^2+bx+c=0的结果。c//求解方程的根;a,b,c,由键盘输入 #include<stdio.h>#include<math.h> int main(){ double a,b,c,disc,x1,x2,p,q; scanf("%lf %lf %lf",&a,&b,&c); disc=b*b-4*a*c; if(disc<0) printf("输出此方程无解。"); else { p=-b/(2*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf("方程的两个根为:%f,%f",x1,x2); } return 0;}运行结果如下:在这里插入图片描述# 4.2 输入两个实数由小到大的顺序输出这两个数。c#include<stdio.h>int main(){ int a,i,j; printf("请输入两个整数:"); scanf("%d,%d",&i,&j); if(i>j){ a=i; i=j; j=a; } printf("%3d,%3d",i,j); return 0;}运行结果如下:在这里插入图片描述# 4.3 输入三个数,从小到大输出。c#include<stdio.h>int main(){ float i,j,k,m; printf("请输入三个数:"); scanf("%f,%f,%f",&i,&j,&k); if(i>j) { m=i; i=j; j=m; } if(i>k){ m=i; i=k; k=m; } if(j>k){ m=j; j=k; k=m; } printf("%f\n%f\n%f\n",i,j,k); return 0;}运行结果如下:在这里插入图片描述# 4.4 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母,否则输出原值。c#include<stdio.h>int main(){ char a; printf("请输入一个字符:"); a=getchar(); a=(a>='A'&&a<='Z')?(a+32):a; putchar(a); return 0;}运行结果如下:在这里插入图片描述# 4.5 一阶跃函数 -1 (x<0) y={0 (x=0) 1 (x>0)编一个C语言程序,输入x,输出相应的值。c#include<stdio.h>int main(){ int x,y; printf("请输入一个整数"); scanf("%d",&x); if(x<0) y=-1; if(x==0) y=0; else y=1; printf("y=%d",y); return 0;}运行结果如下:在这里插入图片描述# 4.6 输出成绩等级,等级由键盘输入。c#include<stdio.h>#include<stdlib.h>int main(){ char grade; printf("请输入成绩等级:"); scanf("%c",&grade); switch(grade){ case'A':printf("85~100\n");break; case'B':printf("70~84\n");break; case'C':printf("60~69\n");break; case'D':printf("<60\n");break; default:printf("enter data error!\n"); } return 0;}运行结果如下:在这里插入图片描述# 4.7 用switch语句处理菜单命令,输入‘A’或‘a’字符,就执行A操作,否则执行B操作。c#include<stdio.h>int main(){ void action1(int ,int),action2(int ,int ); char ch; int a=15,b=23; ch=getchar(); switch(ch) { case'a': case'A':action1(a,b);break; case'b': case'B':action2(a,b);break; default:putchar('\n'); } return 0;}void action1(int x,int y){ int z; z=x+y; printf("x+y=%d",z);}void action2(int x,int y){ printf("x*y=%d",x*y);}运行结果如下:在这里插入图片描述# 4.8 写一个程序判断某一年是否为闰年。c#include<stdio.h>int main(){ int year; printf("请输入年份:"); scanf("%d",&year); if(year%4==0&&(year%100!=0||year%400==0)) printf("此年份是润年"); else printf("此年份不是润年"); return 0; }运行结果如下:在这里插入图片描述# 4.9 求ax^2+bx+c=0的解。c#include<stdio.h>#include<math.h>#include<stdlib.h>int main(){ double a,b,c,disc,x1,x2,realpart,imagpart; scanf("%lf,%lf,%lf",&a,&b,&c); printf("The equation"); if(fabs(a)<=1e-6) printf("is not a quadratic\n"); else { disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) { x1=(-b+sqrt(disc)/(2*a)); x2=(-b-sqrt(disc)/(2*a)); printf("has distinct real roots:%8.4f and%8.4f\n",x1,x2); } else { realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots :\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } } return 0;}运行结果如下:在这里插入图片描述# 4.10 运营公司计算用户运输费用。s<250 无折扣250<=s<500 2%折扣500<=s<1000 5%折扣1000<=s<2000 8%折扣2000<=s<3000 10%折扣3000<=s 15%折扣c#include<stdio.h>#include<stdlib.h>int main(){ int c,s; float p,w,d,f; printf("plese enter price,weight,discount:"); scanf("%f,%f,%d",&p,&w,&s); if(s>=3000)c=12; else c=s/250; switch(c) { case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; } f=p*w*s*(1-d/100); printf("freight=%10.2f\n",f); return 0;}运行结果如下:在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值