没有合适的资源?快使用搜索试试~ 我知道了~
U201610504-刘逸帆-实验二1
需积分: 0 0 下载量 29 浏览量
2022-08-08
21:15:37
上传
评论
收藏 200KB DOCX 举报
温馨提示
试读
25页
(3)练习转移语句和标号语句的使用 (4)使用Turbo C 2.0集成开发环境中的调试功能:单步执行、设置断点、观察变量值 (2)编写一个程序,将输入的一行字
资源详情
资源评论
资源推荐
实验 2 流程控制实验
2.1 实验目的
(1)掌握复合语句、if 语句、switch 语句的使用,熟练掌握 for、while、do-while
三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。
(2)练习循环结构 for、while、do-while 语句的使用。
(3)练习转移语句和标号语句的使用。
(4)使用 Turbo C 2.0 集成开发环境中的调试功能:单步执行、设置断点、观察
变量值。
2.2 实验内容
2.2.1 源程序改错题
下面是计算 s=n!的源程序,在这个源程序中存在若干语法和逻辑错误。要求
在计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。例如,
8!=40320。
1 #include <stdio.h>
2 void main(void)
3 {
4 int i,n,s=1;
5 printf("Please enter n:");
6 scanf("%d",n);
7 for(i=1,i<=n,i++)
8 s=s*i;
9 printf("%d! = %d",n,s);
10 }
解答:
(1) 错误修改:
1)第 6 行的变量前应加上&以取地址,正确形式为:
scanf("%d", &n ) ;
2)第 8 行使用 for 循环语句时,循环内容应使用花括号{}括起来,正确形
式为:
{s=s*i;}
错误修改后源程序:
#include <stdio.h>
void main(void)
{
int i,n,s=1;
printf("Please enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{s=s*i;}
printf("%d! = %d",n,s);
}
(2) 错误修改后运行结果:
2.2.2 源程序修改替换题
(1)修改第 1 题,分别用 while 和 do-while 语句替换 for 语句。
解答:
1)用 while 语句替换 for 语句:
修改 for 循环部分的语句为:
while(n-i+1)
{
s*=i;
i++;
}
替换后的程序如下所示:
#include<stdio.h>
void main( )
{
int i=1,n,s=1;
printf("please enter n:");
scanf("%d",&n);
while(n-i+1)
{
s*=i;
i++;
}
printf("%d! = %d",n,s);
}
运行截图:
2)用 do-while 语句替换 for 语句:
修改 for 循环部分的语句为:
do
{
s*=i;
i++;
}
while(n-i+1);
替换后的程序如下所示:
#include<stdio.h>
void main( )
{
int i=1,n,s=1;
printf("please enter n:");
scanf("%d",&n);
do
{
s*=i;
i++;
}
while(n-i+1);
printf("%d! = %d",n,s);
}
运行截图:
(2)修改第 1 题,输入改为“整数 S”,输出改为“满足 n!≥S 的最小整数 n”。例
如输入整数 40310,输出结果为 n=8。
剩余24页未读,继续阅读
Msura
- 粉丝: 58
- 资源: 323
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0