作业1

《C语言程序设计》实验报告

学  号

160809223

姓  名

姜文奇

专业、班

计科16-2班

学    期

2016-2017 第1学期

指导教师

黄俊莲 吴喆

实验地点

C05

机 器 号

 

上课时间

2016 10 8 日    5 周 周六  1-4

截止时间

2016 10 13 日   6 周 周三 晚

实验任务清单

  1. 实验2-6 猜数字游戏。
  2. 实验2-7 判断能否成为三角形
  3. 实验2-8 个人所得税计算器

教师评语

 

成绩

 

             

实验2  选择结构程序设计进阶

实验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次 ",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));

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

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

              count=0;

              printf("%d",myNumber);

              do{

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

                     scanf("%d",&yourNumber); 

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

                     //……

              if(yourNumber>myNumber)

                     printf("大了! ");

              else if(yourNumber<myNumber)

                     printf("小了 ");

              else

                     printf("猜对了 ");

                     count++;

              }while(yourNumber!=myNumber);

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

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

//……

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

    if(count<=3)

        printf("天才! ");

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

        printf("智力正常! ");

    else

        printf("笨! ");

              printf("继续请按Y/y,退出请按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,b,c,mj,zc,s;

     printf("请输入三个数:");

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

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

    {

        s=(a+b+c)/2;

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

              zc=a+b+c;

        printf("此三条边可以构成三角形: ");

        printf("三角形的周长为 :%d 三角形的面积为:%d",s,mj);  

    }

    else

        printf("此三条边不可以构成三角形:");

    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 元。 ", 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语句完成):

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

运行结果抓图


实验心得

第一道题主要考察我们对时间函数和产生随机数的使用,第二道题考察了原来的知识,求三角形的面积和一些数学思想。第三道题不会做从侧边反映出我的一些弱点和课下没有好好复习。

原文地址:https://www.cnblogs.com/Cynicisty/p/5953836.html