160809224 黄家帅 第三次作业

实验2-6 猜数字游戏

实验要求:

编写一个C程序实现一个[1-100]以内的猜数字游戏。

(1) 系统随机产生一个[1-100]之间的随机数。

(2) 输入任意一个数字。数字的要求是1—100的自然数即可。

(3) 系统对您输入的数字进行判断。如果玩家输入的数字与计算机随机生成数相比较, 输入的数字比随机生成数小,系统将提示您,数字太小请您重新输入。如果玩家输入的数字与计算机随机生成数相比较,如果输入的数字比随机生成数大,系统将提示您,数字太大请您重新输入。如果玩家输入的字符不是合法字符,系统将提示您,您输入的数字不合法,请重新输入。 如果两个数字相同,输出“恭喜您,猜对了!”。

(4) 每猜测一次,系统会记录下来,游戏结束后,显示共猜测多少次

(5) 游戏结束后,根据所猜次数,给出评语(3次内猜出来的,天才!,4-7次猜出来的,智力正常,8次以上猜出来的,笨)

(6) 可以在下面程序的基本框架基础上完成,如需其他变量自行增加源码

参考:

#include <stdio.h>

#include <stdlib.h>

//猜数字游戏

int main()

{

int myNumber,yourNumber,count=0;

char c;

do{

//指定种子值为现在的时间

srand((unsigned)time(NULL));

//产生[1,100]这间的随机数

myNumber = (rand() % (101 - 1)) + 1;

do{

printf("请输入您猜想的数值:");

scanf("%d",&yourNumber);

//请在此输入代码,猜数字,并给予提示,同时记录次数

//……

 

}while(yourNumber!=myNumber);

printf("您一共猜了%d次\n",count);

//请在此输入代码,根据用户猜的次数给予评价

//……

printf("继续请按Y/y,退出请按N/n:");

getchar();

c=getchar();

system("cls"); //清屏函数

}while(c==‘Y‘ || c==‘y‘);

return 0;

}

源码:

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

int mynumber,yournumber,count=0;

char c;

do{

srand((unsigned)time(NULL));

mynumber = (rand() % (101 - 1)) + 1;

do{

printf("请输入您猜想的数值:");

scanf("%d",&yournumber);

count++;

if(yournumber>mynumber)

printf("数字太大请您重新输入\n");

else if(yournumber<mynumber)

printf("数字太小请您重新输入\n");

else if(yournumber!=mynumber)

printf("您输入的数字不合法,请重新输入\n");

}

while(yournumber!=mynumber);

{

if(count<=3)

printf("天才!\n");

else if(count>3 && count<=7)

printf("智力正常!\n");

else

printf("笨!");

}

printf("您一共猜了%d次\n",count);

printf("继续请按Y/y,退出请按N/n:\n");

getchar();

c=getchar();

system("cls");

}while(c==‘Y‘ || c==‘y‘);

return 0;

}

运行结果抓图

实验2-7判断能否成为三角形

实验要求:

(1) 输入三角形的三条边,判断能否构成三角形,输出其能否成为三角形。

(2) 若为三角形,请计算出周长和面积并输出。

源码:

#include<stdio.h>

#include<math.h>

int main()

{

int a=0,b=0,c=0,z;

float s,ave;

printf("请输入三条边:\n");

scanf("%d%d%d",&a,&b,&c);

if(a+b>c && a+c>b && b+c>a)

{

printf("能构成三角形。\n");

s=(a+b+c)*1/2.0;

ave=sqrt(s*(s-a)*(s-b)*(s-c));

printf("面积为:%f\n",ave);

z=a+b+c;

printf("周长为:%d\n",z);

}

else

printf("不能构成三角形。\n");

return 0;

}

运行结果抓图

实验2-8 个人所得税计算器

实验要求:

编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:个人税率表)。

(1) 分别用if语句和switch语句完成;

(2) 可以在下面程序的基本框架基础上完成,如需其他变量自行增加源码:

#include <stdio.h>

int main ( )

{

float salary,tax=0,afterTaxIncome=0;

printf("请输入您本月的收入总额(元):");

scanf("%f", &salary);

// 下面求解应缴个人所和税tax和税后收入afterTaxIncome  

printf("您本月应缴个人所和税 %.2f 元,税后收入是 %.2f 元。\n", tax, afterTaxIncome);

return 0;

}

附:个人税率表

2011年9月1日起调整后,也就是2012年实行的7级超额累进个人所得税税率表

应纳个人所得税税额= 应纳税所得额× 适用税率- 速算扣除数

扣除标准3500元/月(2011年9月1日起正式执行)(工资、薪金所得适用)

个税免征额3500元  (工资薪金所得适用)


级数


全月应纳税所得额(含税级距)【税率资讯网提供】


全月应纳税所得额(不含税级距)


税率(%)


速算扣除数


1


不超过1,500元


不超过1455元的


3


0


2


超过1,500元至4,500元的部分


超过1455元至4155元的部分


10


105


3


超过4,500元至9,000元的部分


超过4155元至7755元的部分


20


555


4


超过9,000元至35,000元的部分


超过7755元至27255元的部分


25


1,005


5


超过35,000元至55,000元的部分


超过27255元至41255元的部分


30


2,755


6


超过55,000元至80,000元的部分


超过41255元至57505元的部分


35


5,505


7


超过80,000元的部分


超过57505元的部分


45


13,505

注:

例如:某人某月工资减去社保个人缴纳金额和住房公积金个人缴纳金额后为5500 元,个税计算:(5500-3500)*10%-105=95元

源码(使用if语句完成):

#include <stdio.h>

int main ( )

{

float salary,tax=0,afterTaxIncome=0,i;

printf("请输入您本月的收入总额(元):");

scanf("%f", &salary);

i=salary-3500;

{

if(i<=0)

tax=0;

else if(i<=1500)

tax=i*0.03;

else if(i>1500 && i<=4500)

tax=i*0.1-105;

else if(i>4500 && i<=9000)

tax=i*0.2-555;

else if(i>9000 && i<=35000)

tax=i*0.25-1005;

}

afterTaxIncome=salary-tax;

printf("您本月应缴个人所和税 %.2f 元,税后收入是 %.2f 元。\n", tax, afterTaxIncome);

return 0;

}

源码(使用switch语句完成):

运行结果抓图

实验心得

            感觉之前的课都白上了,好多地方都该不会,还好第一个实验有参考,最后的}while(c==‘Y‘ || c==‘y‘);中的单引号还是必须英文输入法打出来的,之前好几次错误都是出现在这,研究了好久,换了好多地方才发现这里出错,最后的实验也是花了很长时间,最后还是感觉if else 比较简单一些,还找同学一起讨论了半天,这次作业对我来说还真是不容易

时间: 2024-08-03 12:20:12

160809224 黄家帅 第三次作业的相关文章

学号160809224姓名黄家帅c语言程序设计实验2 选择结构程序设计

实验2-1 输入3个数,并按由大到小的顺序输出. 实验要求: 编写一个C程序,输入3个数,并按由大到小的顺序输出. 源码: #include <stdio.h>void main(){ int a,b,c,t; printf("请输入三个整数:"); scanf("%d%d%d",&a,&b,&c); if(a<b){ t = a; a = b; b = t; } if(b>c){ printf("%d\t%

马哥2016全新Linux+Python高端运维班第三周作业作答

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

第三次作业——个人作业——软件产品案例分析

第三次作业--个人作业--软件产品案例分析 评测产品:K米,安卓端 第一部分 调研,评测 评测 初体验 还没去KTV的时候,刚开始下了这个APP,我按正常软件一样,进行了注册功能,可到要写用户信息的时候,(可能是本着比较随意的思想,只想一直点,只填了一些以外使用其他APP时候的基本信息就一直点进一步),在上传用户头像的时候,我想直接跳过,没想到这一定要上传头像才可以啊!!!然后注册完后点进去,看了下K歌功能都不能用,看了一下用户的社区,发现大部分用户动态都是国庆的,这个时候已经10.17了,可见

第三次作业问卷

看到一个问卷不错,拟作为第三次作业的部分内容. 你对自己的未来有什么规划?做了哪些准备? 答:未来走一步算一步,计划赶不上变化,充实自己的知识,多增加一点自己经验,比起知识,更重要的是社交. 你认为什么是学习?学习有什么用?现在学习动力如何?为什么? 答:学习,就是知道一些以前不知道的事.厉害的人有两点:观察力和文化底蕴,学习就是为了增加知识储备,尽量不出现书到用时方恨少的情况.目前的学习动力很缺乏,因为一到大学开始想着混. 你感觉自己什么事情做的比较成功?有什么经验? 答:并不知道,似乎没有什

第三次作业三总结与心得

知识点总结: 1.调用幂函数pow()生成乘方表 power=pow(); 2.#include<math.h>程序中调用了数学函数,需包含头文件math.h 3.调用自定义函数fact(i)计算i! product=fact(i); 4.double fact(int n);自定义函数的声明,以分号结束 5.double product;变量product用于存放结果(阶乘的值) 6.return product;将结果送回主函数 7.定义求n!的函数double fact(int n)函数

解题报告——-2018级2016第二学期第三周作业

解题报告——2018级2016第二学期第三周作业 A:[NOIP2002P]过河卒 题目: 描述 如图,A 点有一个过河卒,需要走到目标 B   点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例 如上图 C  点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C).卒不能通过对方马的控制点. 棋盘用坐标表示,A 点(0,0).B 点(n,m)(n,m 为不超过 20  的整数,并由键盘输入)

魏昊卿——《Linux内核分析》第三周作业:Linux系统启动过程

魏昊卿——<Linux内核分析>第三周作业:Linux系统启动过程 一.实验部分 实验指导 使用实验楼的虚拟机打开shell 1 cd LinuxKernel/ 2 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 内核启动完成后进入menu程序(<软件工程C编码实践篇>的课程项目),支持三个命令help.version和quit,您也可以添加更多的命令,对选修过<软件工程C编码实践篇>

职业规划第三次作业

看到一个问卷不错,拟作为第三次作业的部分内容. 你对自己的未来有什么规划?做了哪些准备? 答: 学好大学四年的课程,并积极参加各种活动来锻炼自己的能力.在实习期间认真学习工作经验,学习经验然后争取能自己创业 好好交友,多读书, 你认为什么是学习?学习有什么用?现在学习动力如何?为什么? 答:学习是通过他人的言传身教了解知识,将他人的认识转化为自己的知识.学习能够取他人之长补己之短,丰富自己的认知,还避免了闭门造车和坐井观天的错误.现在的学习动力一般,因为新学知识对我来说比较陌生. 你感觉自己什么

04+罗潇潇+罗潇第三次作业

04+罗潇潇+罗潇第三次作业第四章:项目管理一般知识1.核心知识域有哪些.保障域有哪些?伴随域有哪些?过程域有哪些? (1)核心知识域包括整体管理.范围管理.进度管理.成本管理.质量管理和信息安全管理等. (2)保障域包含人力资源管理.合同管理.采购管理.风险管理.信息(文档)与配置管理.知识产权管理.法律法规标准规范和职业道德规范等. (3)伴随域包含变更管理和沟通管理等. (4)过程域包含科研与立项.启动.计划.实施.监控和收尾等,而其中的监控过程则可能发生在项目生命周期的任一个阶段.2.有