《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. Linux中设置定期备份oracle数据库

    昨天装好了oracle,今天尝试一下自动备份,我这两天装linux和oracle的目的就是这个. 如果是sql server,定期备份可以利用sql server的management studio来 ...

  2. libuv(不断更新)

    /* * Initialize the uv_async_t handle. A NULL callback is allowed. * * Note that uv_async_init(), un ...

  3. Java关键字——instanceof

    Java中可以使用instanceof关键字判断一个对象到底是哪一个类的实例 格式:对象 instance 类 返回 boolean类型 通过子类实例化的对象同时是子类和父类的实例,无论是直接声明子类 ...

  4. Eclipse中修改Web项目的URL访问路径

    背景 访问路径,也就是指在浏览器中访问该web系统时的根路径,比如http://localhost:8080/xxxx/index.jsp  这里的xxxx,也就是request.getContext ...

  5. codeforces 719C (复杂模拟-四舍五入-贪心)

    题目链接:http://codeforces.com/problemset/problem/719/C 题目大意: 留坑...

  6. os模块之popen

    想查看当前目录下有哪些东西,可以使用os.popen()方法,代码如下: t = (os.popen("dir")) print(t.read()) #运行结果 C:\python ...

  7. Description DisplayName Display的关系

    Description  DisplayName  Display的关系 ?

  8. 从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构

    Microsoft.AspNet.Identity简介 Microsoft.AspNet.Identity是微软在MVC 5.0中新引入的一种membership框架,和之前ASP.NET传统的mem ...

  9. ES6新特性--多行文本

    由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用` ... `表示: `这是一个 多行 字符串`;

  10. 预处理prepareStatement是怎么防止sql注入漏洞的?

    序,目前在对数据库进行操作之前,使用prepareStatement预编译,然后再根据通配符进行数据填值,是比较常见的做法,好处是提高执行效率,而且保证排除SQL注入漏洞. 一.prepareStat ...