中国大学MOOC计算机程序设计(C++)——第2周 简单信息的表示和基本运算代码

第2周学习要点

       变量要注意的问题是必须先声明,后使用。特别要知道变量一经声明,系统就为其保留了存储空间,以后可以通过名称(也就是变量名)使用这个空间,在里面存数据(赋值),从里取数据。
       变量在没有赋值时,其值是不确定的,特别注意不一定是0,如果这样进行运算,会得到不正确的结果。是初学时要注意的问题。
       运算符要知道有哪些运算,使用什么符号表示。运算符有优先级和结合顺序。同学们应总结其中的规律。
还有不同类型数的混合运算,先向级别高的类型转换再计算。同类型的数据的运算结果还是这种类型。特别注意整型数的运算结果还是整型数。例如1/2的结果是0而不是0.5。


推荐的编程习惯:

(1)变量的声明集中放在程序的开头。
(2)不同类别、不同意义的变量分开声明。
(3)变量名使用有意义的标识符,如与所表达的意义相关的英文单词、单词组合、单词缩写、汉语拼音等。
(4)运行中不变的量定义成常量。使用符号常量,少使用字面常量。
(5)使用圆括号清楚地标明运算的优先级。
(6)不使用过长的语句。过长时可以分成多个语句来写。
(7)对程序中的主要运算、变量进行注释。


课后作业代码


1、温度转换(20分)
/*
输入华氏温度,用下列公式将其转换为摄氏温度并输出。
C=5/9*(F-32)
 
输入格式:
   实数
输出格式:
转换后的摄氏温度,实数。
 
输入样例:
80
输出样例:
26.6667
*/ 

#include <iostream>
using namespace std;
float h;
float c ;
int main()
{
cin >> h;
c = 5*(h-32)/9;
cout << c <<endl;
return 0;
} 

2、计算数学函数值(20分)

/*
题目内容:
编程求函数
y=sin(x*x)/(1-cos(x))
的值。
输入格式:
实数,大于0.
输出格式:
实数
输入样例:
0.1
输出样例:
2.00163
提示:正弦和余弦三角函数的值是通过数学库函数
sin(x)(正弦)、cos(x)(余弦)来计算,需要包含头文件<cmath>。
*/ 
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	float x,y;
	cin >> x;
	y=sin(x*x)/(1-cos(x));
	cout << y ;
	return 0;
} 

3、数据的简单统计(20分)

/*
题目内容:
编程实现,用户从键盘输入3个整数,计算并打印这三个数的和、平均值及平均值的四舍五入整数值。
注意:输入的三个整数、它们的和、平均值的四舍五入值用整型变量表示,平均值用双精度变量表示。
输入格式:
三个整数,中间用空格隔开。
输出格式:
计算结果,整数、实数和整数,分别表示:和、平均值及平均值的四舍五入整数值,分三行输出。
 
输入样例:
3 6 8
输出样例:
17
5.66667
6
技巧提示:四舍五入:实数加0.5,再取整(转换为int型数)。
*/
#include <iostream>
using namespace std;
int main()
{
	float a,b,c;//输入必须为浮点型,后面的输出才会有小数 
	cin >> a >> b >> c ;
	int add = a+b+c;
	float avg = (a+b+c)/3;
	int trans = avg + 0.5 ;
	cout << add << endl << avg << endl << trans <<endl;
	return 0;
} 
4、找零钱(20分)
/*
找零钱(20分)
题目内容:
为顾客找零钱时,希望选用的纸币张数最少。
例如73元,希望零钱的面值为五十元1张,二十元1张,一元3张。
设零钱面值有五十元、二十元、十元、五元和一元,请编写程序,
用户输入100以下的数,计算找给顾客的各面值的纸币张数,数据间以空格隔开。
 
输入格式:
一个小于100、大于等于0的整数。
输出格式:
5个整数,数据间用一个英文空格分隔。
输入样例:
73
输出样例:
1 1 0 0 3
*/
#include <iostream>
using namespace std;
int main()
{
	int cash , change50 , change20 , change10 , change5 , change1 ;
	cin >> cash ;
	change50 = cash/50;//凑够当前目标金额最多使用几张50元纸币 
	cash = cash-(change50*50);//剩余的目标额 
	change20 = cash/20;//凑够当前目标金额最多使用几张20元纸币 
	cash = cash-(change20*20);//剩余的目标额 
	change10 = cash/10;//凑够当前目标金额最多使用几张50元纸币 
	cash = cash-(change10*10);//剩余的目标额 
	change5 = cash/5;//凑够当前目标金额最多使用几张50元纸币 
	cash = cash-(change5*5);//剩余的目标额 
	change1 = cash;//凑够当前目标金额最多使用几张1元纸币 
	cout <<change50<<" "<<change20<<" "<<change10<<" "<<change5<<" "<<change1<<endl;//货币组合 
	return 0;
} 
5、小写转大写(20分)
/*
题目内容:
用户输入一个字符,如果是小写字母输出对应的大写字母,其他字符不转换。
提示:使用三目条件运算符 ...?... :...
输入格式:
一个字符
输出格式:
一个字符
输入样例:
d
输出样例:
D
*/
#include <iostream>
using namespace std;
int main()
{
	char x , d ;
	cin >> x ;
	x>='a'&&x<='z'?d=x-32:d=x;//ASKII表中a为97,A为65,相差32 ,若要大写变小写改为d=x+32 
	cout << d ;
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值