流程管理流程控制实验.docx

上传人:b****5 文档编号:4603538 上传时间:2022-12-07 格式:DOCX 页数:8 大小:16.31KB
下载 相关 举报
流程管理流程控制实验.docx_第1页
第1页 / 共8页
流程管理流程控制实验.docx_第2页
第2页 / 共8页
流程管理流程控制实验.docx_第3页
第3页 / 共8页
流程管理流程控制实验.docx_第4页
第4页 / 共8页
流程管理流程控制实验.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

流程管理流程控制实验.docx

《流程管理流程控制实验.docx》由会员分享,可在线阅读,更多相关《流程管理流程控制实验.docx(8页珍藏版)》请在冰豆网上搜索。

流程管理流程控制实验.docx

流程管理流程控制实验

(流程管理)流程控制实验

C语言程序设计实验方案

一、实验名称流程控制实验

二、实验目的

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

2.练习循环结构for、while、do-while语句的使用。

3.练习转移语句和标号语句的使用。

4.使用codeblocks开发环境中的调试功能:

单步执行、设置断点、观察变量值。

三、实验任务

1.源程序改错题

下面是计算s=n!

的源程序,于这个源程序中存于若干语法和逻辑错误。

要求于计算机上对这个例子程序进行调试修改,使之能够正确完成指定任务。

例如,8!

=40320。

#include

voidmain()

{

inti,n,s=1;

printf("Pleaseentern:

");

scanf("%d",n);

for(i=1,i<=n,i++)

s=s*i;

printf("%d!

=%d",n,s);

}

2.源程序修改替换题

(1)修改第1题,分别用while和do-while语句替换for语句。

(2)修改第1题,输入改为“整数S”,输出改为“满足n!

≥S的最小整数n”。

例如输入整数40310,输出结果为n=8。

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)编写壹个程序,将输入的壹行字符复制到输出,复制过程中将壹个之上的空格字符用壹个空格字符代替。

(3)打印如下杨辉三角形。

1/*第0行*/

11/*第1行*/

121/*第2行*/

1331

14641

15101051

1615201561

172135352171

182********881

193684126126843691

每个数据值能够由组合计算(表示第i行第j列位置的值),而的计算如下:

(i=0,1,2,…)

(j=0,1,2,3,…,i)

本程序中为了打印出金字塔效果,要注意空格的数目。

壹位数之间是3个空格,俩位数之间有2个空格,3位数之间只有壹个空格,程序编制过程中要注意区分。

(4)编写壹个程序,将用户输入的任意正整数逆转,例如,输入1234,输出4321。

四、实验步骤及结果

1.源程序改错题

更改后的正确程序:

#include

intmain(),

{

inti,n,s=1;

printf("Pleaseentern:

");

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s*i;

printf("%d!

=%d",n,s);

return0;

}

2.源程序修改替换题

(1)while语句型替换程序

#include

intmain()

{

inti=1,n,s=1;

printf("Pleaseentern:

");

scanf("%d",&n);

while(i<=n)

{

s=s*i;

i++;

}

printf("%d!

=%d",n,s);

return0;

}

(2)do-while语句型替换程序

#include

intmain()

{

inti=1,n,s=1;

printf("Pleaseentern:

");

scanf("%d",&n);

do

{

s=s*i;

i++;

}while(i<=n);

printf("%d!

=%d",n,s);

return0;

}

3.编程设计题

(1)税金收取问题程序:

If语句型:

#include

intmain()

{

doubleincome,tax,a,b;

inx:

printf("Pleaseentertheincome:

\n");

scanf("%lf",&income);

a=income/1000;

if(a>=0)

{if(a>=5)

b=0.25;

if(a>=4)

b=0.20;

if(a>=3)

b=0.15;

if(a>=2)

b=0.10;

if(a>=1)

b=0.05;

else

b=0.00;

tax=income*b;

printf("thetaxis%.1lf",tax);}

else

{

printf("Entererror!

\n");

gotoinx;

}

}

运行结果:

Switch语句型:

#include

intmain()

{

doubleincome,tax,a,b;

inx:

printf("Pleaseentertheincome:

\n");

scanf("%lf",&income);

a=income/1000;

if(a<0)

{

printf("Entererror!

\n");

gotoinx;

}

else

switch((int)(a)){

case0:

b=0.00;break;

case1:

b=0.05;break;

case2:

b=0.10;break;

case3:

b=0.15;break;

case4:

b=0.20;break;

default:

b=0.25;break;

}tax=income*b;

printf("Thetaxis%.1lf",tax);

return0;

}

运行结果:

(2)字符复制输出和多个空白字符删除:

#include

intmain()

{

intflag=1;

charc;

printf("pleaseintputsomechars:

\n");

while((c=getchar())!

='\n')

{

switch(c)

{case'':

if(flag){putchar(c);

flag=0;}

break;

default:

putchar(c);flag=1;

}

}

if((c=getchar())=='\n')

printf("%c",c);

return0;

}

运行结果:

(3)杨辉三角:

#include

#defineM10

#defineN10

intmain()

{

inta[M][N],i,j;

for(i=0;i

{

for(j=N;j>=i;j--)

printf("%2c",'');

for(j=0;j<=i;j++)

{

if(i==j||j==0)

a[i][j]=1;

else

a[i][j]=a[i-1][j]+a[i-1][j-1];

printf("%3d",a[i][j]);

if(i==j)

printf("\n");

}

}

}

运行结果:

(4)数字逆转:

#include

intmain()

{

longx,digit;

printf("pleaseinputapositiveinteger:

\n");

scanf("%ld",&x);

do

{

digit=x%10;

printf("%ld",digit);

x/=10;

}while(x!

=0);

printf("\n");

return0;

}

运行结果:

五、实验体会

通过这次C语言实验,我更进壹步认识到了C语言学习理论、实践相结合的重要性。

同时我也深深认识到if语句、if-else语句、switch、for、while以及do-while等于c语言实现中的重要作用,我会更加努力学习理论知识,时不时的上机实践来查找自己的不足进而是自己于C语言的学习上取得很大的进步,提高自己的实践能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1