实验3 选择结构

1、计算分段函数的值

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double x,y=0;
	scanf("%lf",&x);
	if(x<=0)
	{
		printf("error!\n");
		return 0;
	}
	if(0<x&&x<1)
	{
		y=log10(x);
	}
	else if(1<=x&&x<6)
	{
		y=sqrt(2*x+3);
	}
	else if(x>=6)
	{
		y=pow(x,5)+3*pow(x,3);
	}
	printf("y=%.4f\n",y);
	return 0;
}

2、三个整数排序

【问题描述】从键盘输入3个整数,要求按由小到大输出

【输入形式】三个整数
【输出形式】由小到大排列的三个整数
【样例输入】47,109,78

【样例输出】47,78,109

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int a,b,c,t;
	scanf("%d,%d,%d",&a,&b,&c);
	if(a>b)
	{
		t=a;
		a=b;
		b=t;
	}
	if(a>c)
	{
		t=a;
		a=c;
		c=t;
	}
	if(b>c)
	{
		t=b;
		b=c;
		c=t;
	}
	printf("%d,%d,%d\n",a,b,c);
	return 0;
}

3、判断闰年

【问题描述】输入年份,判断并输出该年是否为闰年。

【输入形式】从键盘输入年份
【输出形式】输出该年份是否为闰年
【样例输入】1990
【样例输出】1990 is not leap year

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int year;
	scanf("%d",&year);
	if((year%400==0)||(year%4==0&&year%100!=0))
	{
		printf("%d is leap year\n",year);
	}
	else 
	{
		printf("%d is not leap year\n",year);
	}
	return 0;
}

4、判断是星期几

【问题描述】

从键盘输入一个天数(正整数),根据这个正整数与7的余数来判断属于星期几。余数1为星期一,2为星期二,3为星期三,4为星期四,5为星期五,6为星期六,0为星期日,当输入的数字非法时提示“error!”。

【输入形式】一个正整数:天数
【输出形式】星期几
【样例输入】8
【样例输出】Monday
【样例说明】样例2

输入:-1

输出:error!

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int day,a;
	scanf("%d",&day);
	if(day<=0)
	{
		printf("error!");
	}
	else
	{
		a=day%7;
		switch(a)
		{
			case 1: printf("Monday\n");break;
			case 2: printf("Tuesday\n");break;
			case 3: printf("Wednesday\n");break;
			case 4: printf("Thursday\n");break;
			case 5: printf("Friday\n");break;
			case 6: printf("Saturday\n");break;
			case 0: printf("Sunday\n");break;
		}
	}
	return 0;
}

5、简单计算器程序

【问题描述】

简单计算器程序。要求根据用户从键盘输入的表达式:

操作数1 运算符OP 操作数2

计算表达式的值,指定的算术运算符OP为加(+)、减(-)、乘(*)、除(/),

输出计算结果。要求 用switch语句实现以上功能。

如,输入:3+2↙

    输出:3.00+2.00=5.0000    

   提示:操作数定义为实型数据                                                                

【输入形式】

操作数1 运算符OP 操作数2

指定的算术运算符为加(+)、减(-)、乘(*)、除(/)

如输入:3+2↙

【输出形式】

 表达式及值,如输出:3.00+2.00=5.0000

【样例输入】4+90
【样例输出】4.00+90.00=94.0000
【样例说明】

样例2:
输入:50/0

输出:error,devide by zero?

样例3:

输入:3a4

输出:Not four formulas

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double a,b;
	char c;
	scanf("%lf%c%lf",&a,&c,&b);
	if(b==0)
	{
		printf("error,devide by zero?");
	}
	else
	{
		switch(c)
		{
			case('+'):printf("%.2f+%.2f=%.4f\n",a,b,a+b);break;
			case('-'):printf("%.2f-%.2f=%.4f\n",a,b,a-b);break;
			case('*'):printf("%.2f*%.2f=%.4f\n",a,b,a*b);break;
			case('/'):printf("%.2f/%.2f=%.4f\n",a,b,a/b);break;
			default:printf("Not four formulas\n");break;
		}
	}

6、高速公路超速处罚

【问题描述】

按照规定,在高速公路上行驶的小型车,超出本车道限速10%以下的(不包括10%,下同),处警告; 超速10%低于20%的,罚款200元,扣3分; 超速20%低于50%的,罚款500元,扣6分; 超速50%的,罚款1000元,一律吊销机动车驾驶证。

请编程判断如何对驾驶员进行处罚。

输入高速公路上机动车车速与车道限速值,根据超速情况输出以下信息:

Normal speed

Warning,you have overspeeded

Overspeed,fine 200 yuan,received 3 points

Overspeed,fine 500 yuan,received 6 points

Overspeed,fine 1000 yuan,revoking the driving license”

提示:超速百分比=(车速-限速值)/限速值×100

【输入形式】高速公路上机动车车速与车道限速值
【输出形式】根据超速情况输出相应的处理结果
【样例输入】100,80
【样例输出】Overspeed,fine 500 yuan,received 6 points

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	double x,y,z;
	scanf("%lf,%lf",&x,&y);
	z=(x-y)/y*100;
	if(x<=y)
	{
		printf("Normal speed\n");
	}
	else if(z<10)
	{
		printf("Warning,you have overspeeded\n");
	}
	else if(10<=z&&z<20)
	{
		printf("Overspeed,fine 200 yuan,received 3 points\n");
	}
	else if(20<=z&&z<50)
	{
		printf("Overspeed,fine 500 yuan,received 6 points\n");
	}
	else 
	{
		printf("Overspeed,fine 1000 yuan,revoking the driving license\n");
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁༺❀氯ྀൢ躅ྀൢ❀༻꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值