第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;
}