实验2 顺序及分支程序设计
1、分段计算居民水费
【问题描述】
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(t)相关,函数关系如下:
请编写程序计算水费,用水量由键盘输入,结果保留2位小数。要求使用嵌套的if-else语句。
【输入形式】一个实型数据:月用水量
【输出形式】本月应支付水费
【样例输入】12.5
【样例输出】16.67
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x==0)
{
y=0;
}
else if(0<x&&x<=15)
{
y=4.0*x/3.0;
}
else
{
y=2.5*x-17.5;
}
printf("%.2f\n",y);
return 0;
}
2、三角形判断并求周长面积
【问题描述】
平面上已知坐标的任意三个点A(x1,y1)、B(x2,y2)、C(x3,y3),检验它们能否构成三角形。若不能,则输出“No”;若能,则输出其三角形的周长和面积。结果保留三位有效数字。
提示:先求出三边长,判断能否构成三角形;能,求出三角形周长和面积。面积用海伦公式
【输入形式】三个点的坐标
【输出形式】输出判断结果,若能构成三角形,则输出三角形的周长和面积
【样例输入】
0 0
2 3
4 5
【样例输出】
Yes,perimeter:12.837,area:1.000
【样例说明】
第二组测试样例
输入:
2 3
4 3
7 3
输出:
No,cannot form a triangle!
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double x1,y1,x2,y2,x3,y3,p,d,s,a,b,c;
scanf("%lf %lf",&x1,&y1);
scanf("%lf %lf",&x2,&y2);
scanf("%lf %lf",&x3,&y3);
a=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
b=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
c=sqrt(pow(x3-x2,2)+pow(y3-y2,2));
d=a+b+c;
p=(a+b+c)/2.0;
if(a+b>c&&a+c>b&&b+c>a)
{
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("Yes,perimeter:%.3f,area:%.3f\n",d,s);
}
else
{
printf("No,cannot form a triangle!\n");
}
return 0;
}
3、编程:打鱼?晒网?
【问题描述】
中国有句俗语叫“三天打鱼两天晒网”。某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第n天是打鱼还是晒网?n从键盘输入。
提示:分析“三天打鱼两天晒网”的周期,第1天开始打鱼
【输入形式】一个整数:天数
【输出形式】该人在该天是在打鱼还是晒网
【样例输入】56
【样例输出】fishing
【样例说明】
第二组测试样例
输入:129
输出:dry the nets
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int n,a;
scanf("%d",&n);
a=n%5;
if(a>=1&&a<=3)
printf("fishing\n");
else
printf("dry the nets\n");
return 0;
}
4、大小写转换
【问题描述】从键盘输入一个字符,若为大写英文字母,则将其转换为小写英文字母,否则不转换,输出最后得到的字符及其十进制ASCII码值。
【输入形式】一个字符
【输出形式】字符及其十进制ASCII值
【样例输入】A
【样例输出】a,97
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
char x;
scanf("%c",&x);
if (x>=65&&x<=90)
x=x+32;
printf("%c,%d\n",x,x);
return 0;
}
5、计算还款月数
【问题描述】
购房时从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。结果保留整数。d, p, r从键盘输入
提示:计算还清月数的公式如下:
说明:C库函数中有求对数的函数log10,表示以10为底的对数,log10(p)表示lgp
【输入形式】输入贷款额、每月还款额及月利率
【输出形式】还款月数(整数,不足一个月按一个月算)
【样例输入】300000 6000 0.01
【样例输出】70
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double d,p,r;
int m;
scanf("%lf %lf %lf",&d,&p,&r);
m=log10(p/(p-d*r))/log10(1+r)+1;
printf("%d\n",m);
return 0;
}
6、编程求表达式的值
【问题描述】
【输入形式】一个双精度实型数据x
【输出形式】表达式求值结果
【样例输入】1.5
【样例输出】2.159866
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double x,y,PI=3.1415926;
scanf("%lf",&x);
y=1.0/2.0*sin(PI/7.2)+x*x*cos(PI/6.0);
printf("%f\n",y);
return 0;
}
7、求表达式的值——系统函数的使用
【问题描述】
【输入形式】两个实数,x、y的值
【输出形式】表达式的结果
【样例输入】1.5 2.8
【样例输出】-85.852549
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
double x,y,z;
scanf("%lf %lf",&x,&y);
z=sqrt(x+2*y)-exp(3*x)+fabs(x);
printf("%f\n",z);
return 0;
}
原文地址:https://blog.csdn.net/2303_82182099/article/details/142691874
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!