实验3 顺序结构程序设计
实验3 顺序结构/选择结构程序设计
一、实验目的:
1、熟悉赋值运算符的使用,能根据需要构建相应的赋值表达式,掌握两变量交换数据的方法;
2、继续熟悉整数相除、取余运算及数据类型转换等内容,能实现四舍五入保留指定位小数的算法;
预习:3、熟悉常用数学函数的使用;
4、通过样例加深对printf()常用格式控制符功能的理解,掌握printf()函数的使用;
5、掌握scanf()函数的使用,能正确输入数据;
提高:
6、掌握顺序结构程序设计的方法,能够画传统的流程图和N_S流程图。
二、实验内容
1、编写程序,将10000秒转换成以“xx时xx分xx秒”格式输出。
(提示:可考虑整数的/、%运算)
total=10000;
seconds=total%60;
temp=total/60;
minutes=temp%60;
hours=temp/60;
2、编程实现:先定义两个整数变量,然后输入两个值,再交换这两个变量的值,最后输出交换后的新值。如下图所示:
问题:
(1) 语句组:a=b; b=a; 能交换a、b的值吗?
(2) 若不能,如何改进?
(3)画出程序的传统流程图。
temp=a; //先将a的值存放到临时变量temp中
a=b; //将b的值存放到a中
b=temp; //将temp值(即a的原值)存放到b,实现交换功能
3、以下程序的功能是:输入学生四门课程的成绩,然后根据要求构建相应的逻辑表达式,之后计算这些表达式的值并输出。请根据程序相关提示填写所缺代码,再运行该程序予以验证,最后回答相关问题:
#include int main() { double sc1,sc2,sc3,sc4; printf(\"请输入学生的门课程成绩:\\n\"); scanf(\"_______________________\",_____________________); printf(\"sc1=%f, sc2=%f, sc3=%f, sc4=%f\\n\",sc1,sc2,sc3,sc4); printf(\"四门课程的平均成绩大于等于80?? %s\\n\",___________________?\"是\":\"否\"); printf(\"四门课程中每门的成绩均大于等于80? %s\\n\",_________________?\"是\":\"否\"); printf(\"四门课程中至少有一门的成绩大于等于80? %s\\n\",_____________?\"是\":\"否\"); printf(\"四门课程中没有一门的成绩大于等于80? %s\\n\",_____________?\"是\":\"否\"); printf(\"四门课程中至少有两门的成绩大于等于80? %s\\n\",___________?\"是\":\"否\"); return 0; } 问题: (1)如何构建逻辑表达式? (2)在程序中的什么位置使用了“条件运算符”? (3)条件运算符有几个操作数?条件表达式如何执行? 4、编写一个程序:输入一个正整数,先判断其是奇数还是偶数,再进一步判断能否被3整除,运行界面如下所示: (提示:(1)判断奇偶性是指能否被2整除,可考虑用%运算符取余数;(2)程序运行有4 种可能结果,可用if…else…嵌套处理:在外层考虑奇偶性,在内嵌的if…else…中考虑能否被3整除。) if (n%2==0) { printf(\"是偶数, \"); if(n%3==0) printf(\"能被3整除。\\n\\n\"); else printf(\"不能被3整除。\\n\\n\"); }else………. *5、对于下列函数: 编写程序,要求输入x的值,输出y值。请分别用下列方法: (1) 多个if语句(不含else部分); (2) 嵌套的if语句; (3) if…else if….语句; 条件运算符和条件表达式 因篇幅问题不能全部显示,请点此查看更多更全内容