华中科技大学C语言实验与课程设计上机实验报告汇总(1~8全部)(3)

2020-04-03 13:02

华中科技大学 C语言实验与课程设计实验报告 CS1408赵晓雁

printf(\}

【测试】若输入676879571,应输出 211.92.88.40。运行结果如下,表明程序正确。

1.3 实验体会

在做改错题时,先浏览一遍,找出明显的错误,然后将初步修改后的代码输入编译器并编译,再根据编译器的警告与错误提示修改程序至完全正确,这个过程很需要细心和耐心,这个过程能够很好的帮助我再今后不犯类似错误。

源程序修改与替换题锻炼我们举一反三的能力,我们在平时写程序时就应该思考对于一个问题有没有多钟解决方案,不使用中间变量交换两个整数是很常见的问题,我利用一个数异或自身等于0,0异或任意位保留原位的原理来交换。

程序设计题提高了我们对所学知识的熟练度和理解程度,只有实践才能学会C语言,在亲手编写代码的过程中发现问题,理解概念。

11

华中科技大学 C语言实验与课程设计实验报告 CS1408赵晓雁

2流程控制实验

2.1实验目的

(1)掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。

(2)熟练运用for、while、do-while语句来编写程序。 (3)练习转移语句和标号语句的使用。 (4)使用集成开发环境中的调试功能:单步执行、设置断点、观察变量值。

2.2实验内容及要求

2.2.1. 源程序改错

下面是计算s=n!的源程序,在这个源程序中存在若干语法和逻辑错误。要求在计算机上对这个例子源程序进行调试修改,使之能够正确完成指定任务,例如,8!=40320。

程序代码:

#include int main() {

int i,n,s=1;

printf(\ scanf(\ for(i=1;i<=n;i++) s=s*i;

12

华中科技大学 C语言实验与课程设计实验报告 CS1408赵晓雁

printf(\ return 0; }

【分析及改正】本程序共存在3处错误,分析如下: (1)int s=1;

错误原因:在计算阶乘的时候,由于阶乘值会上升很快,所以不建议使用int类型,可以改为long或者double型。

改正:改为long型变量。 (2)scanf(“%d”,n);

错误原因:scanf函数获取输入值时,引用的是一个变量地址,而不是变量本身。

改正:scanf(“%d”,&n); (3)} return 0;

错误原因:return返回值应该在main函数内部 改正:return 0;} 2.2.2 源程序修改替换

(1)修改上述计算s=n!的源程序,要求分别用while和do-while语句替换for语句。

(2)修改上述计算s=n!的源程序,要求输入改为“整数S”,输出改为“满足n! >=s的最小整数n”。例如,输入整数40310,输出结果为n=8.

【分析】(1)相同循环内容利用不同循环结构实现,需要注意不同语句的

格式及根据循环方式对循环体做些许变动。流程图如下:

while型 do-while型

13

华中科技大学 C语言实验与课程设计实验报告 CS1408赵晓雁

(2)同样计算n!并将n!赋值给不是s的值(比如说m),然后令m和s比较大小,找到符合条件的第一个m值,并返回n值。流程图如下:

【程序】(1)while型 #include int main() {

int i=1,n,s=1;

printf(\ scanf(\ while(i<=n){ s=s*i; i++;}

printf(\ return 0; }

do-while型

#include int main() {

int i=1,n,s=1;

printf(\ scanf(\ do{

s=s*i; i++;

14

华中科技大学 C语言实验与课程设计实验报告 CS1408赵晓雁

}

while(i<=n);

printf(\ return 0; } (2)

#include int main() {

int i,n=0,s,m=1;

printf(\ scanf(\ for(i=1;;i++){ m=m*i; n++;

if(m>=s){

printf(\ break; } }

return 0; }

【测试】(1)如果输入8,应该输出:40320,程序运行结果如下,程序正确。

(2)如果输入40310,应该输出:8,程序运行结果如下,程序正确。

2.2.3 程序设计

编写并上机调试运行能实现下列功能的程序: (1)假设工资税金按以下方法计算:x<1000元,不收取税金;1000<=x<2000,收取5%的 税金;2000<=x<3000,收取10%的税金;3000<=x<4000,收取15%的税金;4000<=x<5000,收取20%税金;x>5000,收取25%的税金。编写一个程序,输入工资金额,输出应收取税金额度,要求分别用if语句呵switch语句来实现。

(2)编写一个程序,将输入的一行字符复制到输出,复制过程中将一个以

15


华中科技大学C语言实验与课程设计上机实验报告汇总(1~8全部)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:财务案例思考题汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: