【C语言从不挂科到高绩点】07-作业练习-运算符表达式

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程,前面课程中给大家讲解了一些常规的知识点,那么本次课,我们一起来练习挑战一下!!

本套课程将会从0基础讲解C语言核心技术,适合人群:

  1. 大学中开设了C语言课程的同学
  2. 想要专升本或者考研的同学
  3. 想要考计算机等级证书的同学
  4. 想要从事C/C++/嵌入式开发的同学

================点个关注吧================

=========================================

f1.1 温度转换器

【需求】

有人用温度计测量出用华氏法表示的温度f(如69°F)

今要求把它转换为以摄氏法表示的温度c(如20°C),转换公式为:f=c*9/5+32。

要求:温度保留小数点后2位

【参考代码】

/**
【需求】
有人用温度计测量出用华氏法表示的温度f(如69°F)
今要求把它转换为以摄氏法表示的温度c(如20°C),转换公式为:f=c*9/5+32。
要求:温度保留小数点后2位
**/


#include <stdio.h>

int main(){

	//1. 键盘输入一个华氏温度
	//  1) 定义变量,用来接收华氏温度
	float F = 0;
	//  2) 提示用户输入温度
	printf("请输入华氏温度:");
	//  3) 将输入的温度,扫描到变量中
	scanf("%f",&F);


	//2. 公式转换将华氏温度转换成摄氏温度
	// f = c*9/5+32
	// c = (f-32)*5/9  // 凡是用到/ ,要注意,如果左右两边都是整数 ,相除取整
	float c = (F-32)*5/9;

	printf("转换后的摄氏温度为:%.2f\n",c);



	return 0;
}

f1.2 计算存款利息

【需求】

计算存款利息。有1000元,想存一年。有3种方法可选:

(1)活期,年利率为r1 0.36%

(2)一年期定期,年利率为r2 2.25%

(3)存两次半年定期,年利率为r3 1.98%

请分别计算出一年后的按3种方法所得到的本息和

【参考代码】

/**
【需求】
计算存款利息。有1000元,想存一年。有3种方法可选:
(1)活期,年利率为r1   0.36%
(2)一年期定期,年利率为r2  2.25%
(3)存两次半年定期,年利率为r3  1.98%
请分别计算出一年后的按3种方法所得到的本息和

本息和=本金+利息
**/

#include <stdio.h>

int main(){

	// 本金
	float money=1000;
	// 第一种 方式的年利率
	float r1=0.0036;
	// 第二种方式的年利率
	float r2 = 0.0225;
	// 第三种方式的年利率
	float r3 = 0.0198;

	// 分别要算出3种方式的本金+利息的和

	// 计算活期的本息和
	float ret1 = money + money*r1;

	// 计算第二种方式的本息和
	float ret2 = money + money*r2;

	// 计算第三种方式的本息和
	float ret3 =money*(1+r3/2)*(1+r3/2);

	printf("第一种情况:%.2f\n第二种情况:%.2f\n第三种情况:%.2f\n",ret1,ret2,ret3);




	return 0;
}

f1.3 计算水中包含多少水分子

需求】

一个水分子的质量大约为 3.0*10^-23g,

1 夸脱水大约有 950g。

编写一个程序,给定一个夸脱数,然后显示这么多水中包含多少个水分子。

【参考代码】

/**

需求】
一个水分子的质量大约为 3.0*10^-23g,
1 夸脱水大约有 950g。
编写一个程序,给定一个夸脱数,然后显示这么多水中包含多少个水分子。
**/

#include <stdio.h>
#include <math.h>

int main(){

	//  获取夸脱水数(手动输入)
	// 1. 定义变量接收输入的夸脱水数
	float water = 0;
	// 2. 提示输入:
	printf("请输入夸脱水数:");
	// 3. 将夸脱水数扫描到变量中
	scanf("%f",&water);

	//  计算输入的夸脱水数,一共有多少克
	float total = water*950;

	//  用总重量除以水分子的重量求出水分子的数量
	float count = total/(3.0e-23);


	// pow(m,n); 表示求m的n次方
	// 比如要求2的5次方:pow(2,5)
	// 但是使用pow,需要导入<math.h>
	float result = total/(3.0*pow(10,-23));

	printf("%.1f夸脱水数有%f个水分子\n",water,count);
	printf("%.1f夸脱水数有%f个水分子\n",water,result);



	return 0;
}


特别注意:算 m 的 n 次方,可以使用 pow(m,n).但是使用之前需要 #include <math.h>.

f1.4 自由落体位移计算器

【需求】
该系统使用交互的方式计算自由落体运动中物体的位置。
用户从控制台输入自由落体的时间t, 系统计算经过时间t物体的自由落体位移。
计算结果保留一位小数并且输出到控制台。
注:自由落体位移公式为: s = 1/2 × g × t x t
其中: s (位移(m) t (时间(s) g (重力加速度(9.8m/s2)
例如:从控制台接收到的时间t为10s,那么位移s=1/2 × 9.8 × 10 × 10=490.0
系统交互过程 如图所示

【参考代码】

/**
【需求】
该系统使用交互的方式计算自由落体运动中物体的位置。
用户从控制台输入自由落体的时间t, 系统计算经过时间t物体的自由落体位移。
计算结果保留一位小数并且输出到控制台。
注:自由落体位移公式为: s = 1/2 × g × t x t
其中:  s (位移(m) t (时间(s) g (重力加速度(9.8m/s2) 
例如:从控制台接收到的时间t为10s,那么位移s=1/2 × 9.8 × 10 × 10=490.0

**/

#include <stdio.h>

int main(){

	//位移的计算公式:s = 1/2 × g × t x t

	// 控制台输入时间
	float t = 0;
	printf("请输入时间:");
	scanf("%f",&t);

	// 计算位移
	float s = 0.5*9.8*t*t;

	printf("%f秒后,物体自由下落了%.1f米\n", t,s);


	return 0;
}


f1.5 计算牛郎织女约会需要调用多少只喜鹊

1. 计算牛郎星到织女星的距离。
牛郎星到织女星的距离为16.4光年,如果一只喜鹊的长度是0.46米,

2. 计算一下牛郎织女真的要会面需要动用多少只喜鹊。
注:
光速:299792458米/秒
1光年=(1 * 365 * 24 * 60 * 60 * 光速 / 1000)公里
1公里=1千米

控制台输出信息如图所示:

【参考代码】

/***
1. 计算牛郎星到织女星的距离。
牛郎星到织女星的距离为16.4光年,如果一只喜鹊的长度是0.46米, 

2. 计算一下牛郎织女真的要会面需要动用多少只喜鹊。
 注: 
光速:299792458米/秒 
1光年=(1 * 365 * 24 * 60 * 60 * 光速 / 1000)公里 
1公里=1千米   

**/

#include <stdio.h>

int main(){

	// 光年
	double lightYear = 16.4;

	// 光速
	int lightspeed = 299792458;

	// 算出距离
	long distance = lightYear*365*24*60*60*lightspeed/1000;
	printf("牛郎星到织女星的距离为:%ld公里\n",distance );


	double xq = 0.46;// 单位米

	// 计算喜鹊的数量
	long num = distance*1000/xq;

	printf("搭起鹊桥需要%ld只喜鹊\n",num);
	return 0;
}

f1.6 随机加法题

【需求】

随机生成两个 10 以内的数字

控制台输出由这两个数字组成的加法题

控制台输入答案,判断回答是否正确,正确输出 1,错误输出 0

【参考代码】

/**
【需求】
随机生成两个 10 以内的数字
控制台输出由这两个数字组成的加法题
控制台输入答案,判断回答是否正确,正确输出 1,错误输出 0

**/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main(){

	// 随机生成两个 10 以内的数字--》随机数
	// 1. 设置随机数种子
	srand(time(0));

	// 2. 生成两个指定范围的随机数
	int num1 = rand()%10;  // 每次调用rand()都会生成一个随机数
	int num2 = rand()%10;

	//控制台输出由这两个数字组成的加法题
	// 1. 将前一步中生成的两个拼接成加法表达式,输出
	printf("%d+%d=?\n",num1,num2);


	//控制台输入答案,判断回答是否正确,正确输出 1,错误输出 0
	// 1. 键盘扫描器,扫描输入的答案
	int guess = 0;
	scanf("%d",&guess);

	// 2. 输入的答案和正确答案进行比较
	//    三目运算符: 输入答案==正确答案?1:0;
	// 正确答案
	int result = num1+num2;
	// 比较输入的答案和正确答案
	//result = result==guess?1:0;

	printf("回答的情况:%d\n", result==guess);


	return 0;
}

f1.7 水费问题

编写计算客户水费的程序,水费包括 35 元的基本水费,和每吨 2.3 元的用量水费

用量水费从最近水表度数(以吨为单位)和前一季度末的水表度数计算得到。

如果客户的未缴滞纳金额大于 0,还要交 10 元的滞纳金。

水费 = 基本水费+用量水费+未缴纳余额+可能的滞纳金

控制台输入:上季度水表度数、当前季度水表度数、至今未缴纳的余额

控制台输出:当前应缴的总水费金额

【参考代码】

/**
编写计算客户水费的程序,水费包括 35 元的基本水费,和每吨 2.3 元的用量水费
用量水费从最近水表度数(以吨为单位)和前一季度末的水表度数计算得到。
如果客户的未缴滞纳金额大于 0,还要交 10 元的滞纳金。
水费 = 基本水费+用量水费+未缴纳余额+可能的滞纳金
控制台输入:上季度水表度数、当前季度水表度数、至今未缴纳的余额
控制台输出:当前应缴的总水费金额

**/

#include <stdio.h>

int main(){


	//控制台输入:上季度水表度数、当前季度水表度数、至今未缴纳的余额
	// 1. 使用键盘扫描,输入这三个数据
	// 上一季度的水表度数
	double prev = 0;
	// 当前的水表度数
	double current = 0;
	// 未缴纳的余额
	double nopay = 0;

	printf("请输入上一季度的水表度数:");
	scanf("%lf",&prev);

	printf("请输入当前季度的水表度数:");
	scanf("%lf",&current);

	printf("请输入未缴纳的余额:");
	scanf("%lf",&nopay);


	//控制台输出:当前应缴的总水费金额
	//水费 = 基本水费+用量水费+未缴纳余额+可能的滞纳金
	// 基本水费
	double base = 35;

	// 用量水费=(当前季度度数-前一季度度数)*2.3
	double use = (current-prev)*2.3;

	// 可能的滞纳金
	double znj = nopay>0?10:0;

	// 总水费
	double money = base+use+nopay+znj;

	printf("当前应缴纳的水费为:%.2lf\n",money );


	return 0;
}

----------------------------------------------------------------------

​分享不易,耗时耗力,喜欢的同学给个关注和赞吧

承接毕设指导,技术答疑,学习路上想要找私人教练的同学可以私信我

更多学习资料,公众号:墨轩学习网,B站:墨轩大楼

----------------------------------------------------------------------

另有下图需求的也记得私信我哟,专业班子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

听潮阁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值