实验1 顺序、分支结构
程序填空
1.
题目描述:输入三个整数存放在变量a、b、c中,找出三个数中的最大值放于max中,并将其输出。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码:
#include
int a,b,c,max; //声明四个整型变量 printf(\请输入3个整型数据:\ scanf(\ if (a>b) max=a;
else max=__(1)__; //将a和b中的较大值记录在max中 if (__(2)__c>max) max=c; //如果c是最大值 printf(\输出最大值max } 2.
题目描述:根据三边长求三角形的面积。请将未完成的部分填入,使之完整。该题中使用海伦公式求解:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s是三边和的一半,即(a+b+c)/2。sqrt函数包含在math.h的头文件中,它的功能是求平方根。 代码:
#include
float a,b,c,s,area;
printf(\输入三角形的边长a,b,c:\ scanf(\ s=__(2)__;
area=sqrt(s*(s-a)*(s-b)*(s-c));
/* 函数sqrt()用来计算一个非负数的平方根,使用这个函数,需要在源程序中增加\
printf(\} 3.
题目描述:输入一个不多于4位的正整数,要求求出它是几位数,分别输出其每一位数字。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码:
#include
int n,ge,shi,bai,qian; //个,十,百,千位: ge,shi,bai,qian printf(\输入一个不多于4位的正整数:\ scanf(\
if (n<10) printf(\是1位数\\n\ else
if( n __(1)__ ) {
printf(\是2位数\\n\ ge=n; shi=n/10;
printf(\十位:%d,个位:%d\\n\ } else
if(n<1000) {
printf(\是3位数\\n\ ge=n; shi=n/10; bai=n/100;
printf(\百位:%d,十位:%d,个位:%d\\n\ } else
if( n __(2)__ ) printf(\它超过了4位!\\n\ else {
printf(\是4位数\\n\ ge=n; shi=n/10; bai=n/100; qian= __(3)__;
printf(\千位:%d,百位:%d,十位:%d,个位:%d\\n\ } } 4.
题目描述:在屏幕上显示一张中文时间表,用户根据提示从中选择,程序应根据用户的选择
输出相应的英文问候信息。以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码:
#include
int n;
printf(\时间表 ****\\n\ printf(\:上午\\n\ printf(\:下午\\n\ printf(\:晚上\\n\
printf(\请输入您的选择:\
scanf(\用户输入1,2或3 switch (__(1)__) {
case 1: printf(\ case 2: printf(\ case 3: printf(\ __(3)__: printf(\输入错误!\\n\ } } 5.
题目描述:已知银行整存整取存款不同期限的月息利率分别为: ..
0.33% 期限1年
0.36% 期限2年
月息利率 = 0.39% 期限3年
0.45% 期限5年 0.54% 期限8年
要求输入存款的本金和期限,求到期时能从银行得到的利息与本金的合计。
以下是完成此项工作的程序,请将未完成的部分填入,实现其功能,并在计算机上调试程序,以测试填入的部分是否正确。 代码:
#include
int year; //存款期限
float money,rate=0,total; //money:本金,rate:月利率,total:本利合计 printf(\输入本金和期限(1,2,3,5或8年): \ scanf(\ switch(__(1)__) {
case 1: rate=0.0033; break; //期限一年的月利率
case 2: rate=0.0036; break; case 3: rate=0.0039; break; case 5: rate=0.0045; break; case 8: rate=0.0054; break;
default: printf(\年限输入错误!\\n\ }
total= __(2)__ *(1+ year*12*rate);
printf(\到期后本利合计为%.4f元\\n\}
程序设计
6.
题目标题:通过日期求某月的天数。
题目描述:输入日期的年份和月份,求该月有多少天。提示:对于月份为1、3、5、7、8、10、12的月份天数为31,月份为4、6、9、11的月份天数为30,月份为2时要结合年份考虑闰年的情况。
输入描述: 输入两个正整数y和m分别表示年份和月份。 输出描述:如果y和m满足条件:1900<=y<3000,0 样例输入:2010 12 样例输出:31 7. 题目标题:录取研究生。 题目描述:某高校录取研究生的要求是,新生的每门课成绩不低于60分,总成绩不低于340分,370分以下为自费。编一程序实现输入一个学生的四门课成绩,试判断该生为该校录取的情况(“没有录取”、“自费”、“公费”三种情况)。 输入描述:输入四门课的成绩,成绩均为0~150之间的整数。 输出描述:录取结果。(“没有录取”、“自费”、“公费”) 样例输入:60 100 130 80 样例输出:公费 8. 题目标题:骑车与走路 题目描述:在华农校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。 输入描述:一个整数:为一次办事要行走的距离,单位为米。 输出描述:对输入的整数,如果骑车快,输出一行“Bike”;如果走路快,输出一行“Walk”;如果一样快,输出一行“All”。 样例输入: 【样例输入1】 50 样例输出: 【样例输入2】 120 【样例输出1】 【样例输出2】 Walk Bike 9. 题目标题:停车场收费 题目描述:一个停车场的标准收费是3小时之内收5元,超过3小时,每增加1小时加收2元;如果时间不是整数,按比例收取,例如:如果输入为3.6小时,则费用为5 + (3.6-3)*2 = 6.2 元。最高收费为40元。假设任何车辆的停车时间都不超过24小时。编写程序,计算每辆车的停车费。 输入描述:输入停车的时间t。 输出描述:输出应该收取的停车费用cost,保留小数点后2位。 样例输入:3.46 样例输出:5.92 5. 题目标题:简单计算器。 题目描述:模拟计算器的功能,能根据用户输入的两个运算数和运算符(’+’、 ‘-’、 ‘*’ 或‘/ ’),对两个数进行相应的运算,输出运算结果。注意:除法运算‘/ ’的除数不能为0。 ..输入描述:两个实数a、b和一个运算符号c。 输出描述:如果能运算,输出a和b的运算结果;如果c为除号,且b为0,输出“除数为0!”;如果c不是’+’、 ‘-’、 ‘*’ 或‘/ ’中的运算符号,输出“运算符号错误!” 样例输入:4*9 样例输出:4.00*9.00=36.00