自学内容网 自学内容网

实验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)!