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

学  号    160809201  姓  名    王浩然专业、班    计科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 个人所得税计算器

#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(void)
{
    int myNumber,yourNumber,count=0;
    char c;
    do{
        //指定种子值为现在的时间
        srand((unsigned)time(NULL));
        //产生[1,100]之间的随机数
        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");
            else
            printf("您输入的字符不合法,请重新输入!\n");
        }
        while(yourNumber!=myNumber);
        printf("您一共猜了%d次\n",count);
        if(count<3)
        {
            printf("您在第%d次就猜对了!\n",count);
            printf("天才啊!\n");
        }
        if(count>=3&&count<8)
        {
            printf("您在第%d次猜对了!\n",count);
            printf("正常!\n");
        }
        if(count>8)
        {
            printf("您在第%d次猜对了!\n",count);
            printf("笨死了!\n");
        }
        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()

{

    float a,b,c,p,s,d;

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

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

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

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

    }

    else{

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

        return 0;

    }

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

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

    printf("面积是:%f\n",s);

    d=(a+b+c);

    printf("周长是:%f\n",d);

    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 a,tax=0,TaxIncome=0;

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

    scanf("%f",&a);

    if(a<=1455)

    {

        tax=(a-3500)*0.03-0;

        TaxIncome=a-tax;

    }

    else if(a>1455 || a<=4155)

    {

        tax=(a-3500)*0.1-105;

        TaxIncome=a-tax;

    }

    else if(a>4155 || a<=7755)

    {

        tax=(a-3500)*0.2-555;

        TaxIncome=a-tax;

    }

    else if(a<7755 || a<=27255)

    {

        tax=(a-3500)*0.25-1005;

        TaxIncome=a-tax;

    }

    else if(a>27255 || a<=41255)

    {

        tax=(a-3500)*0.3-2755;

        TaxIncome=a-tax;

    }

    else if (a>41255 || a<=57505)

    {

        tax=(a-3500)*0.35-5505;

        TaxIncome=a-tax;

    }

    else

    {

        tax=(a-3500)*0.45-13505;

        TaxIncome=a-tax;

    }

    printf("您本月应缴税为:%f\n您本月的税后收入为:%f\n",tax,TaxIncome);

    return 0;

}

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

#include <stdio.h>

int main()

{

    float a,tax=0,TaxIncome=0;

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

    scanf("%f",&a);

    if(a<=1455)

    {

        tax=(a-3500)*0.03-0;

        TaxIncome=a-tax;

    }

    else if(a>1455 || a<=4155)

    {

        tax=(a-3500)*0.1-105;

        TaxIncome=a-tax;

    }

    else if(a>4155 || a<=7755)

    {

        tax=(a-3500)*0.2-555;

        TaxIncome=a-tax;

    }

    else if(a<7755 || a<=27255)

    {

        tax=(a-3500)*0.25-1005;

        TaxIncome=a-tax;

    }

    else if(a>27255 || a<=41255)

    {

        tax=(a-3500)*0.3-2755;

        TaxIncome=a-tax;

    }

    else if (a>41255 || a<=57505)

    {

        tax=(a-3500)*0.35-5505;

        TaxIncome=a-tax;

    }

    else

    {

        tax=(a-3500)*0.45-13505;

        TaxIncome=a-tax;

    }

    printf("您本月应缴税为:%f\n您本月的税后收入为:%f\n",tax,TaxIncome);

    return 0;

}
实验心得:怎么贴图啊,好像贴不上去我试了好几次。第3个不会今天百度了才知道。有点难啊,拜托老师下次题目不要这么复杂。
第3题是两种都要写吗,忘记switch的写法了。

 


 

  
  
  
  
  
  
  
  
  
  
  
  
 
 
 


第3次作业,c语言的更多相关文章

  1. 第四周作业——C语言自评

    1.你对自己的未来有什么规划?做了哪些准备?以目前的现状来说,希望至少能够掌握专业所要求的基本操作,然后一步步去深入.提升,毕业之后不会灰溜溜的一次次求职失败.目前更多的是利用闲暇时间补回过去老师同学 ...

  2. 2019-暑假作业-Java语言程序设计

    本文于2017年创建,最后更新2019-07-16 任务列表 1.学会使用Markdown做笔记 本篇随笔就是使用的Markdown语法.养成做笔记的习惯! 参考资料: 极简MarkDown排版介绍( ...

  3. 提交作业 C语言I作业11

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 我在这个课程的目标 ...

  4. 2017-暑假作业-Java语言程序设计

    任务列表 1.学会使用Markdown做笔记 本篇随笔就是使用的Markdown语法.养成做笔记的习惯! 参考资料: 极简MarkDown排版介绍(How to) stackedit:在线Markdo ...

  5. Java第一次作业——Java语言基础

    <Java技术>第一次作业 学习总结 1.Scanner类实现基本数据输入方法 Scanner input=new Scanner(System.in); int num = input. ...

  6. 《Java技术》第一次作业——Java语言基础

    学习总结 Scanner类实现基本数据输入的方法 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配.然后可以使用不同的 next 方法将得到的标记转换为不同类型的值. ...

  7. C语言I作业12-学期总结

    一.我学到的内容 二.我的收获 我完成的作业: 第一次作业 C语言I博客作业02 C语言I作业004 C语言I博客作业05 C语言I博客作业06 C语言I博客作业07 C语言I博客作业08 C语言I博 ...

  8. PTA第五次作业

    #include<stdio.h> #include<math.h> int main () { int n,m,i,j,a; scanf("%d",&am ...

  9. 2017《Java技术》预备作业01

    2017<Java技术>预备作业 1.学习使用MarkDown 本学期的随笔都将使用MarkDown格式,要求熟练掌握MarkDown语法,学会如何使用标题,插入超链接,列表,插入图片,插 ...

  10. OO——JML作业总结

    目录 第三单元博客作业 JML语言理论基础 1.注释结构 2.JML表达式 3.方法规格 4.类型规格 应用工具链 JMLUnitNG使用实例 作业架构设计 第一次作业 第二次作业 第三次作业 BUG ...

随机推荐

  1. SOCKADDR_IN

    在windows/linux下有下面结构: sockaddr结构 struct sockaddr { unsigned short sa_family;/*addressfamily,AF_xxx*/ ...

  2. redis auth php操作

    <?php//Connecting to Redis server on localhost$redis = new Redis();$redis->connect('192.168.33 ...

  3. 《高性能MySQL》读书笔记--锁、事务、隔离级别 转

    1.锁 为什么需要锁?因为数据库要解决并发控制问题.在同一时刻,可能会有多个客户端对表中同一行记录进行操作,比如有的在读取该行数据,其他的尝试去删除它.为了保证数据的一致性,数据库就要对这种并发操作进 ...

  4. MySQL学习笔记——存储过程

  5. C++ typedef用法小结 (※不能不看※)

    C++ typedef用法小结 (※不能不看※) 第一.四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换.可以用作同时声明指针型的多个对象.比如:char* pa, pb; // 这多数不 ...

  6. 路径 dirname(__FILE__)

    require(dirname(__FILE__).'/include/init.php');

  7. Redis学习——SDS字符串源码分析

    0. 前言 这里对Redis底层字符串的实现分析,但是看完其实现还没有完整的一个概念,即不太清楚作者为什么要这样子设计,只能窥知一点,需要看完redis如何使用再回头来体会,有不足之处还望告知. 涉及 ...

  8. sufeinet

    http://www.sufeinet.com http://tool.sufeinet.com/

  9. ElasticSearch之二——集群

    ElasticSearch 集群 首先看下ElasticSearch(ES)的架构: 术语解释: cluster:代表一个集群,集群中有多个节点,其中有一个master节点,master通过选举自动产 ...

  10. oracle 11g express 修改oem端口

    begin dbms_xdb.sethttpport('8081'); dbms_xdb.setftpport('0'); end; / 这样就把端口设置为8081了.