- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)