C语言实验三循环结构程序设计解答Word文档格式.docx

上传人:b****6 文档编号:19154835 上传时间:2023-01-04 格式:DOCX 页数:13 大小:25.79KB
下载 相关 举报
C语言实验三循环结构程序设计解答Word文档格式.docx_第1页
第1页 / 共13页
C语言实验三循环结构程序设计解答Word文档格式.docx_第2页
第2页 / 共13页
C语言实验三循环结构程序设计解答Word文档格式.docx_第3页
第3页 / 共13页
C语言实验三循环结构程序设计解答Word文档格式.docx_第4页
第4页 / 共13页
C语言实验三循环结构程序设计解答Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言实验三循环结构程序设计解答Word文档格式.docx

《C语言实验三循环结构程序设计解答Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言实验三循环结构程序设计解答Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

C语言实验三循环结构程序设计解答Word文档格式.docx

for(i=1;

i<

=10;

i++)

printf("

\n%dsquaredis%d\n"

i,i*i);

\n"

);

}

2.[目的]掌握循环次数已知的循环控制处理方法。

计算并输出

[输入]键盘输入x值

[输出]计算结果

voidmain()

intn,x,sum=0;

请输入x:

"

scanf("

%d"

&

x);

for(n=1;

n<

=100;

n++)

sum=sum+x*x;

sum=%d\n"

sum);

如果程序功能为:

,要求从键盘输入n、x值,程序应如何修改?

3.[目的]掌握循环次数已知的循环控制处理方法。

求1-100之间的奇数之和。

inti,sum=0;

i=i+2)

sum=sum+i;

4.[目的]掌握循环次数已知的循环控制处理方法。

输出100以内能被7整除的数。

[输出]判断结果

if(i%7==0)printf("

%d\t"

i);

5.[目的]掌握循环次数已知的循环控制处理方法。

计算并输出一年12个月的总降雨量和平均降雨量。

[输入]12个月的降雨量

[输出]总降雨量和平均降雨量

[提示]使用for循环语句,和值、平均值变量采用双精度类型,和值初值设为零。

doublex,sum=0,ave;

=12;

{

printf("

请输入%d月的降雨量:

scanf("

%lf"

sum=sum+x;

}

ave=sum/12;

sum=%lf\tave=%lf\n"

sum,ave);

6.[目的]掌握循环次数已知的循环控制处理方法。

在0°

到90°

之间每隔5°

输出一行数据,打印一个表。

每行中包括5个项目:

角度数,以及它所对应的正弦、余弦、正切、余切函数值。

[输出]如下表格

[提示]使用for循环语句和if语句,注意0°

、90°

时的正切和余切的处理。

math.h"

#definePI3.1415926

doubleih;

角度数正弦余弦正切余切\n"

for(i=0;

=90;

i=i+5)

ih=i*PI/180;

if(i==0)

%d\t%lf\t%lf\t%lf\t%c\n"

i,sin(ih),cos(ih),sin(ih)/cos(ih),'

-'

elseif(i==90)

%d\t%lf\t%lf\t%c\t%lf\n"

i,sin(ih),cos(ih),'

cos(ih)/sin(ih));

else

printf("

%d\t%lf\t%lf\t%lf\t%lf\t\n"

i,sin(ih),cos(ih),sin(ih)/cos(ih),cos(ih)/sin(ih));

7.[目的]掌握循环次数已知的循环控制处理方法。

输入10个字符,输出各个字符的ASCII编码。

[输入]10个字符

[输出]各个字符的ASCII编码

[提示]使用for循环语句,字符的输入不需要分隔符,可以连续输入10个字符。

charch;

请输入一个字符:

%c"

ch);

\n%c%d\n"

ch,ch);

8.[目的]掌握循环次数未知的循环控制处理方法。

计算一批货物的总值,输入货物单价和数量。

事先不知道需要统计的货物有多少种。

[输入]货物单价和数量

[输出]货物的总值

[提示]使用while循环语句或do…while语句,设计一个特殊值作为循环结束的标志,例如,单价值为零。

doubleprice,num,sum=0;

请输入货物单价和数量:

%lf%lf"

price,&

num);

while(price!

=0)

sum=sum+price*num;

sum=%lf\n"

9.[目的]掌握递推法的处理方法。

输出fibnocci数列的前20项,每行输出5个。

说明:

fibnocci数列的前两项均为1,以后各项等于其前两项之和。

[输入]无

[输出]fibnocci数列的前20项

[提示]使用for循环语句以及递推算法,fibnocci数列的前两项均为1,以后各项等于其前两项之和。

inti,f1,f2,f3,n;

f1=1;

f2=1;

\n%8d%8d"

f1,f2);

n=2;

=18;

if(n%5==0)printf("

f3=f1+f2;

%8d"

f3);

n++;

f1=f2;

f2=f3;

10.[目的]掌握递推法的处理方法。

[题目内容]编写一个程序,利用递推法计算下列公式:

要求精确到10-6。

[输出]计算结果

[提示]使用do..while循环语句以及递推算法,当计算到n项时,

,当计算到n+1项时,

计算到yn+1-yn=

≤10-6为止。

intn=1,m;

doubley1,y=1;

do

m=n*(n+1);

y1=1.0/m;

y=y+y1;

}while(y1>

=10e-6);

y=%lf\n"

y);

11.[目的]掌握递推法的处理方法。

[题目内容]求和值Sn=a+aa+aaa+……+aaaa…aa(n位)。

如n=5,a=3,则是求S5=3+33+333+3333+33333。

编写程序对于任意输入的a和n,求Sn。

[输入]a和n

[输出]Sn

[提示]使用for循环语句以及递推算法。

可设定一个变量m,m的初值为a,将m的值加到初值为0的变量S中;

下一个要加的值可如下计算:

m=m*10+a,共加n次。

#include<

stdio.h>

{

inta,n,i;

longterm,sum;

请输入a,n:

%d,%d"

a,&

n);

term=a;

sum=a;

for(i=2;

=n;

i=i+1)

term=term*10+a;

sum=sum+term;

sum=%ld\n"

12.[目的]掌握递推法的处理方法。

[题目内容]编写一个程序,求1+2!

+3!

+...+20!

的和。

[输出]1+2!

的和

关键语句longterm=1,sum=0;

term=term*i;

longterm=1,sum=0,i;

=20;

term=term*i;

%ld\n"

13.[目的]掌握穷举法的处理方法。

[题目内容]编写一个程序,判断一个整数是否素数。

[输出]是否素数的信息

[提示]使用for循环语句以及穷举算法。

利用素数的定义。

intx,i;

请输入一个整数:

x;

if(x%i==0)

\n%d不是素数。

x);

break;

if(i>

=x)printf("

\n%d是素数。

14.[目的]掌握穷举法的处理方法。

[题目内容]编写一个程序,输出9*9乘法口诀表。

[输出]9*9乘法口诀表。

算法提示:

分行与列考虑,共9行9列,外循环控制行,内循环控制列。

方阵

inti,j;

=9;

{for(j=1;

j<

j++)

%2d*%2d=%2d"

i,j,i*j);

斜三角

=i;

15.[目的]掌握穷举法的处理方法。

[题目内容]编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数。

[输出]所有的“水仙花数”

①利用单层for循环控制对100—999之间的数,每个数分解出个位,十位,百位。

②使用3重for循环,循环变量分别取值为1-9,0-9,0-9。

{inti,a,b,c;

for(i=100;

=999;

{a=i/100;

b=i%100/10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

%d\n"

{inti,j,k;

for(i=1;

for(j=0;

for(k=0;

k<

k++)

{if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

i*100+j*10+k);

16.[目的]掌握图形输出的处理方法。

[题目内容]一个电子器件的可靠性由下面等式给定:

可靠性(r)=e-λt,其中,λ为器件每小时的失效率,t为运行时间(以小时为单位)。

编写一个程序,画出一个图形,用来确定在0到3000小时内不同运行时间的可靠性。

失效率λ为0.001。

[输入]n=3000,lamda=0.001

[输出]图形

[提示]使用for循环语句,算法提示:

t的值由for语句按步长为150生成for(t=0;

t<

=3000;

t=t+150),语句R=(int)(50*r+0.5)中的整数50是一个放大因子,用来把r转换为一个较大的数值,该数值用于描述曲线(r的值总是小于)。

math.h>

doubler,lamda;

inti,t,n,R;

请输入器件的每小时失效率:

lamda);

请输入最大时间:

=27;

--"

for(t=0;

t=t+150)

r=exp(-lamda*t);

R=(int)(50*r+0.5);

|"

for(i=1;

=R;

*"

3;

|\n"

17.[目的]运用已学知识解决实际问题。

[题目内容]某物品的现值(通常称为帐面价格)由以下等式给出

P=c(1-d)n

其中:

c=原始价值,d=年折旧率,n=已使用年限P=经过y年后的现值。

如果把P看作是该物品经使用年限后的报废价值,编写一个程序,给定原始价值、折旧率、报废价值,计算出可使用的年限。

[输入]原始价值、折旧率、报废价值

[输出]可使用的年限

[提示]使用for循环语句、break语句。

doublec,d,p,p1;

intn;

请输入原始价值、折旧率、报废价值:

%lf%lf%lf"

c,&

d,&

p);

p1=c;

for(n=0;

=100000;

p1=p1*(1-d);

if(p>

p1)break;

可使用年限是:

n-1);

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

当前位置:首页 > 成人教育 > 专升本

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

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