c语言课程设计报告完整版.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

《C程序设计》课程设计

学部:机械与电子信息

专业:电子信息工程

班级:电信本二

学号:

姓名:曹禹

指导教师:杜丽芳

2023年6月

第1章分支与循环

1.3实现过程

【题目一】王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧板,切100刀最多能提成多少块?”

【算法分析】初始:1块t0=1

第一刀:2块t1=2=t0+1

第二刀:4块t2=4=t1+2

第三刀:7块t3=7=t2+3

第四刀:11块t4=11=t3+4

第五刀:16块t5=16=t4+5

得:t(n)=t(n-1)+n(n=1to100)

【源程序代码】

#includestdio.h

intmain()

{

intt,n;

t=1;

for(n=1;n=100;n++)//循环相加得出最后结果

t=t+n;

printf(100刀最多可以切出%d块\n,t);

return0;

}

【编译示图】

【运营结果示图】

【题目二】若一个口袋中放有12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个球,问共有多少不同的颜色搭配,把每种搭配显示出来。

【算法分析】设红,白,黑分别取x,y,z个,则有:

x+y+z=8;

0=x3;

0=y3;

0=z6;

可通过多重循环得出各种搭配,通过循环也许的只数,得出结果

【源程序代码】

#includestdio.h

intmain()

{

intx,y,z;

for(x=0;x=3;x++)

for(y=0;y=3;y++)

for(z=0;z=6;z++)

if(x+y+z==8)printf(红%d白%d黑%d\n,x,y,z);

return0;

}

【编译示图】

【运营结果示图】

第2章数组与函数

2.3实现过程

【题目一】有一个一维数组score[],内存放10个学生的成绩,规定编写三个函数分别求学生的平均成绩,求10个学生的最高分,求10个学生的最低分,在主函数中调用这三个函数得到结果。

【算法分析】输入10个学生的成绩,平均成绩可以用循环求总和来实现,最高分和最低分也可以运用循环比较来得出最大和最小的数

其中平均成绩为aver=sum/10,

最高分运用循环max=maxscore[]?max:score[]

最低分运用循环min=minscore[]?min:score[]

【源程序代码】

#includestdio.h

intmain()

{

inti;

floata[10],aver,imax,imin;

floataverage(floata[10]);

floatmax(floata[10]);

floatmin(floata[10]);

printf(请输入十个学生的成绩:);

for(i=0;i10;i++)

scanf(%f,a[i]);

aver=average(a);

imax=max(a);

imin=min(a);

printf(平均分:%.2f\n,aver);

printf(最高分:%.2f\n,imax);

printf(最低分:%.2f\n,imin);

return0;

}

inti;floata[10];

floataverage(floata[10])

{

floataver,sum=0;

for(i=0;i10;i++)

sum=sum+a[i];

aver=sum/10.00;

returnaver;

}

floatmax(floata[10])

{

floatimax=a[0];

for(i=1;i10;i++)

if(imaxa[i])imax=a[i];

returnimax;

}

floatmin(floata[10])

{

floatimin=a[0];

for(i=1;i10;i++)

if(imina[i])imin=a[i];

returnimin;

}

【编译示图】

【运营结果示图】

【题目二】编写一个函数,将输入的一串字符中的小写字母转变成大写字母,在主函数中调用这个函数,并输出所有的大写字母。

【算法分析】

运用ASIC码将小写字母转换大写字母即可,设字符串为str,使ASIC值在a到z间的字符满足str=str-32则可将小写字母转换大写字母。

【源程序代码】

#includestdio.h

voidchange(charstr

文档评论(0)

姜志 + 关注
实名认证
内容提供者

搞茯苓的

1亿VIP精品文档

相关文档