- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
概述软件开发的流程
回顾C语言的基本语法:
常量(类型)
变量(类型、定义)
表达式(例子:三位数的拆分)
控制语句(if条件语句,例子:饿了吗?for循环语句,例子:做好事问题求解)
数组(例子:猜数字游戏)
学生成绩计算系统
做好事问题求解:
某学校为表扬好人好事需核实一件事,老师找了A、B、C、D三个学生,A说:“不是我。”。B说:“是C。”。C说:“是D。”。D说:“C胡说”。这四个人中三个人说了实话。请问:这件好事是谁做的?
#include Stdio.h
#include Conio.h
void main(void)
{
char thisman;/*定义变量用来保存做好事的人*/
int sum=0;/*求和变量*/
/*循环枚举做好事的人*/
for(thisman=A;thisman=D;thisman++)
{
/*对四个人所说的话进行求和,真话为1,假话为0*/
sum=(thisman!=A)+(thisman==C)
+(thisman==D)+(thisman!=D);
/*判断和是否为3,真话3,假话1*/
if(sum==3)
{
/*找到做好事的人,输出*/
printf(thisman is %c\n,thisman);
}
}
getch();
}
猜数字:
在计算机上设置一个没有重复数字的4位数,不能让猜得人知道。猜的人就可以开始猜。每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。
接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。
次数限制:
有的时候,这个游戏有猜测次数上的限制。根据计算机测算,这个游戏,如果以最严谨的计算,任何数字可以在7次之内猜出。而有些地方把次数限制为6次或更少,则会导致有些数可能猜不出来。而有些地方考虑到人的逻辑思维难以达到计算机的那么严谨,故设置为8次甚至10次。也有的没有次数上的限制。我们今天要做的这个游戏就是设定次数为8次。
#include Stdio.h
#include Conio.h
void guess(int b[])/*猜数字游戏进行猜数的函数,采用数组作为参数*/
{
int i=0,j=0,s=0,x=0,k1=0,k2=0;/*i、j、s用于进行循环,x用记录猜数的次数,k1用于记录位置相同且数相同的数字个数、k2记录数相同的数字个数*/
int a[4];
while(1)
{
x++;
printf(di %d ci shu ru:,x);
scanf(%d,j);/*输入要猜的数放在变量j中*/
for(i=3;i=0;i--)/*将输入的4位数进行拆分放到数组a中*/
{
a[i]=j%10;
j=j/10;
}
for(i=0;i4;i++)/*比较位置和数字都一致的*/
{
if(a[i]==b[i])
k1++;
}
for(i=0;i4;i++)/*只比较数字相同不管位置*/
{
for(s=0;s4;s++)
if(a[i]==b[s])
k2++;
}
printf(%dA%dB\n,k1,k2);
if(x==8)/*如果已经猜了8次还没有猜对那么就要提示并推出这一轮游戏*/
{
printf(your time over back menu\n);
break;
}
if(k1==4k2==4)/*猜对了数字,提示胜利*/
{
printf(win!);
break;
}
k1=0;/*将计数变量清零*/
文档评论(0)