C语言基础练习题及代码

上传人:re****.1 文档编号:493651477 上传时间:2022-09-23 格式:DOC 页数:31 大小:78KB
返回 下载 相关 举报
C语言基础练习题及代码_第1页
第1页 / 共31页
C语言基础练习题及代码_第2页
第2页 / 共31页
C语言基础练习题及代码_第3页
第3页 / 共31页
C语言基础练习题及代码_第4页
第4页 / 共31页
C语言基础练习题及代码_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C语言基础练习题及代码》由会员分享,可在线阅读,更多相关《C语言基础练习题及代码(31页珍藏版)》请在金锄头文库上搜索。

1、读前须知:1. 此文档为UP主在为期11周的c语言学习课程中做过的在线测评练习题,题目和UP主自己写的代码都在这里。2. 由于水平有限,所用的算法并不是很简洁,部分题目是暴力循环破解的。精益求精者请自行思考或百度。3. 由于课业紧张,写的时候几乎没有写注释,排版也比较紧凑,这些可能会给读者的理解带来困难,在此先说一声抱歉。4. 由于老师教的不好,学习过程中不大愉悦,因此用了一些恶趣味的单词作为变量名泄愤,恳请不要在意这些细节5. 由于学校以在线测评的方式考核,UP主并没有考虑各种人性化的细节例如输入范围限制,输入提示等。如果程序是写给人用的,请务必考虑这些人性化设置。6. 本文档仅供各位网友参

2、考学习c语言之用,读者擅自用作他途所造成的一切不良后果与UP主无关。身高预测【问题描述】父母都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高因素包括遗传、饮食习惯与体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关设fatH为其父身高,motH为其母身高,身高预测公式为男性成人时身高=(fatH+motH)*0.54 cm女性成人时身高=(fatH*0.923+motH)/2 cm此外,如果喜爱体育锻炼,那么可增加身高2%;如果有良好的卫生习惯,那么可增加身高1.5%。请编程利用给定公式和身高预测方法对身高进行预测。【输入】输入由键盘输入,共5

3、行。第一行有一个字符sex,代表用户的性别(F或f代表女性,M或m代表男性)第二行有一个实数fatH,代表父亲身高第三行有一个实数motH,代表母亲身高第四行有一个字符spor,代表是否喜爱体育锻炼(Y或y代表喜爱锻炼,N或n代表不喜爱锻炼)第五行有一个字符diet,代表是否有良好的饮食习惯(Y或y代表饮食习惯良好,N或n代表饮食习惯不好)【输出】输出只有1行,为所预测的身高hei(不保留小数),输出格式为Your future height will be hei(cm)【样例输入】f176160yy【样例输出】Your future height will be 167(cm)【数据范围】

4、对于fatH,motH,hei,保证100%的数据不超过double类型的范围对于sex,spor,diet,保证没有非法数据【注释】hint1: 数据输入时请考虑n的影响hint2: cms系统将所有warning均视为errorhint3: main()函数请使用int main(),否则会提示编译错误。/*=*/#includeint main()double fatH,motH,hei,in;char sex,spor,diet,beyond;scanf(%cn%lfn%lfn%cn%c,&sex,&fatH,&motH,&spor,&diet);in=1.0;beyond=i;if

5、(sex=F)|(sex=f)hei=(fatH*0.923+motH)/2;else if (sex=M)|(sex=m)hei=(fatH+motH)*0.54;else beyond=e;if (spor=y)|(spor=Y)in=in+0.02;else if (spor=n)|(spor=N) in=in;else beyond=e;if (diet=y)|(diet=Y)in=in+0.015;else if (diet=n)|(diet=N) in=in;else beyond=e;hei=hei*in;if (beyond!=e)printf(Your future heig

6、ht will be %.0lf(cm),hei);else printf(the data you input is wrong,please check it out and input again.);return 0;/*=*/猜数游戏1【问题描述】编程由计算机生成一个1100之间的整数请用户猜,若猜对则结束游戏,并输出用户猜测次数(输出格式:“Right, 猜测次数 time(s)”);若猜错则给出提示若用户所猜数偏大,则输出“Big”,否则输出“Small”。一次游戏最多可以猜10次,若经过10次仍未猜中的话,输出“over”,并结束游戏。【样例过程1】50Big25Small30

7、Small40Small45Big42Big41Right, 7 time(s)【样例过程2】1Small2Small3Small4Small5Small6Small7Small8Small9Small10Smallover【注释】hint1: “”行代表为用户输入hint2: 请使用“do while”循环实现hint3: 该题为离线评测,程序提交过后不会立即得到成绩,请耐心等待批改/*=*/#include#includeint main()int guess,ra,times;ra=rand()%100;times=1;printf(please guess a number in 01

8、00n);doscanf( %d,&guess);if (guess=ra)printf(Right,%d time(s),times);times=12;break;else if (guessra) printf(Smalln);else printf(Bign);times+; while (times50Small75Small80Small90Small95Small98Right, 6 time(s)continue? Y | NY50Small75Big60Big55Small57Small58Small59Right, 7 time(s)continue? Y | NN【样例过

9、程2】aillegal input1Small2Small3Small4Small5Small6Small7Small8Small9Small10Smallovercontinue? Y | Nacontinue? Y | NN【注释】hint1: “”行代表为用户输入hint2: 该题为离线评测,程序提交过后不会立即得到成绩,请耐心等待批改/*=*/#include#includeint main()int guess,ra,times,mark;char c,d;c=y;while (c=y)|(c=Y)ra=rand()%100;times=1;for (mark=1;mark=0)&(guessra) printf(Smalln); getchar(); times+; else if (guessra) printf(Bign); getchar(); times+; else printf(illegal inputn); getchar(); mark=times-1; else printf(illegal inputn); getchar(); mark=times-1; if (mark!=15) printf(overn); do printf(continue?Y|

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号