实验二 C 数据类型的应用 联系客服

发布时间 : 星期四 文章实验二 C 数据类型的应用更新完毕开始阅读51f30a10a32d7375a41780fc

实验二 C++数据类型的应用

二、实验内容

1.根据注释补充下面的程序中省略号处的语句,运行程序,并理解其语句及输出的含义:

#include void main()

{ ??; // 定义一个整型变量a ??; // 定义一个字符型变量b b = ?a?; // 给变量b赋值

??; // 将变量b的值赋给变量a

cout<< “a=”<

2.在程序中定义整型变量x_int、双精度实数型变量y_double、字符型变量m_char和布尔型变量n_bool,并请用户输入x_int、y_double和m_char三个变量的值,之后给变量n_bool赋值为m_char>x_int,输出并观察(x_int/y_double)、(y_double-m_char)以及n_bool的值,理解这些输出的含义。

例如:输入1 1 1

3.编写程序:根据用户输入的球的半径值,分别计算球的表面积、体积和质量,并输出计算结果。[提示] 假设球的密度为7.8kg/m3,球表面积的计算公式为 s?4?r2,球体积的计算公式为 v??r3。实验二

43实验三 数据类型的应用

1. 使用cout对象,在输出窗口上显示如下的图形:

2. 输出一个字符的前驱字符(字符表上该字符前面的字符)、后继字符(字符表上该字符后面的字符)及其ASCII码。

3.编程求和:s=a+aa+aaa,其中a是1~9中的一个数字,其值由用户输入。 例如:若用户输入5,则应求s=5+55+555。

实验四 操作符与表达式1.交换两个整数。

#include void main()

{ int a=-3, b=4; ……; // 输出两个变量的值 a+=b; // 将变量a、b之和赋给变量a

}

…… ; // 完成语句,将变量a、b之差赋给变量b …… ; // 完成语句,将变量a、b之差赋给变量a

…… ; // 完成语句,再次输出两个变量的值,观察其值是否进行了交换

2.用户输入秒数,将它转换成小时、分钟、秒来表示。例如输入7278秒,则输出:2小时1分18秒。

3.编程实现两个一位整数的加法,输出计算所得的十位数和个位数。

实验五 操作符与表达式

1.用户输入两个整数x和y,求:x是否比y大?x是否是y的倍数? 编程输出求解结果,1表示是,0表示不是。

2.单位编排活动小组,30岁以下的分在第一组,40岁的分在第二组,50岁以上分在第三组,其余年龄的分在第四组。假设王五输入了自己的年龄,保存在变量age中,那么他是否分在了第四组,编程求解并输出答案

3.编写C++程序,计算下列表达式的值保存于相应变量中,并将这些变量输出,理解输出的含义。

#include void main() { int a1, a2; int i, j, k; cout<<\请输入三个整数:\ ……; // 完成语句,将用户输入的整数依次存在变量i, j, k中 a1=……; // 赋值号右边写出C++表达式:k为0时表达式为真 a2=……; // 赋值号右边写出C++表达式:i不等于j时表达式为真 …… ; // 完成语句,输出a1, a2两个变量的值 k=……; // 赋值号右边写出C++表达式:a1++与++a2之差 …… ; // 完成语句,输出a1, a2及k三个变量的值 }

示例

实验六 if语句的应用

1.用户输入两个整数x和y,问:y是否是x的倍数?编程打印结果“是”或“不是”2.用户输入整数a和b,如果b不为零,程序打印出除法算式、整数商和余数。例如,若用户输入20和6,则应输出20/6=3??2。

3.已知标准体重的计算方法如下:男性:标准体重(kg)=身高(cm)-105女性:标准体重

(kg)=身高(cm)-100试编写程序,由用户输入其性别(?m?代表男性,?f?代表女性)和身高,计算输出其标准体重,请用条件操作符( ? : )实现。

实验七 if语句的应用

1.编写程序求解如下分段函数。

x2-162,x<12

x+30,12=< x<=70 y=

100,x>70

2.单位编排活动小组,30岁及以下的分在第一组,40岁的分在第二组,50岁以上的分在第三组,其余年龄的分在第四组。假设王五输入了自己的年龄,保存在变量age中,那么他应该分在第几组?编程求解并输出答案。

3.编写一个程序实现以下功能:用户输入3个数,则程序输出其中的最大

数和最小数。

实验八 switch语句的应用

1.根据用户输入的整数(1~7代表星期一~星期日),显示星期的英文或中文名称。例如,用户输入3,则输出应显示为Wednsday或星期三。

2.编程实现如下算术功能:用户输入两个数字(可带小数)及一个算术操作符(’+’、’-‘、’*’或’/’),若两个数字都不是零,则输出算式及结果,若用户输入的算术操作符不对,则输出提示信息(例如“无效的算术操作符,无法计算”)。

实验九 while语句的应用

1.编程循环执行如下算术功能:用户输入两个数字(可带小数)及一个算术操作符(’+’、’-‘、’*’或’/’),输出算式及结果,直到用户输入无效的算术操作符为止。

注意:做除法时需检查除数不为零。

2.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元? (参考答案:21年)

3.编程求使不等式12+32+52+ ?? +n2 < limit成立的最大n值。其中limit可以定义为常量或定义为变量。

(实验数据:limit=10时n=1;limit=100时n=7;limit=65535时n=71) 4.编程求和:s=a+aa+aaa+…+aa…a,其中a是1~9中的一个数字,项数n的值由用户输入。注意:aaa的含义为100*a+10*a+a。

提示:令和式中的各项为b0,b1,b2,…bn,则可知b0 = a,b1 = b0×10+a,b2 = b1×10+ a,??。即每一项由前一项乘以10加a递推得到,然后求和。

实验十 for语句、do-while语句的应用

1.请在屏幕上显示N行如图所示的数值,其中N是个常量,其值在程序运行之初确定。(要求:用for语句实现)

2.请用户输入20个字符,将其中的小写字母转换为大写字母后输出。 例如,用户输入VkQK0Ms]\\Q,mb/;lGa;q则应输出VKQK0MS]\\Q,MB/;lGA;Q。

提示:每一个英文字母的大写和小写的ASCII码相差32。

3.鸡兔同笼问题:鸡、兔共44只,有脚100,问鸡、兔各多少只,请编程求

解。

4.反复检查用户输入的一个数是正数还是负数,当输入为0时结束程序。最后输出这些数的总和。

实验十一 嵌套循环语句与跳转语句

1.在屏幕上打印出九九乘法表。基本效果如下图1,同学们可自己作进一步的

美化,如下图2。

提示:两层循环嵌套使用

2.有20只猴子吃掉50个桃子,已知公猴每只吃5个、母猴每只吃4个、小猴每只吃2个,编程求出公猴、母猴、小猴各多少只。(0 5 15或2 2 16) 3.编程实现,在屏幕上输出如下所示由?@?组成的V形图案。 @@@@@@@@@ @@@@@@@ 4.判断用户输入的一个正整数是否是素数。

提示:素数即质数,判断n是否素数的方法是:分别用2、3、4、??、n-1去除n,如果n能被整除,则表明n不是素数,反之是素数。

实验十二 函数的概念及应用

1.编写一个加法算术程序,两个加数都是不超过两位的正整数,其值由随机数发生器随机产生(使用rand、srand函数)。输出算式,如“15+28=”,用户输入正确答案则继续出下一道题目,否则结束程序。(使用do-while实现) 2.定义一个C++函数,判断一个数是正数还是负数(正数时返回1,负数时返回-1,0时返回0)。3.编写一个函数func(double x),求解如下分段函数。

提示:求平方根的数学函数是sqrt(x)

4.编写一个函数,判断一个3位正整数是否是水仙花数,若是返回true,

否则返回false。说明:若一个3位正整数的各位数字的立方和等于这个整数,则称之为“水仙花数”。例如:153是水仙花数,因为153=1*1*1+5*5*5+3*3*3。

实验十三 函数的定义及使用

1.试编写一个函数,其功能是在屏幕上打印金字塔图形。输入:一个正整数(金字塔的层数),一个字符(组成图形的基本符号);输出:无。

2.对任意给定的两个正整数m、n,求s=m!+n!。要求先自定义一个C++函数,实现求一个正整数的阶乘,即double jiecheng(int x)。

3.(选做)试编写一个函数,其功能是判断两个正整数是否互质。输入:两个正整数;输出:真(代表它们互质)或假(代表它们不互质)。