zoukankan      html  css  js  c++  java
  • 第三次随笔

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    《C语言程序设计》实验报告
    学  号    160809203  姓  名    王思齐   计科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次\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;
    }
    运行结果抓图
    实验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 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语句完成):
     
     
     
    运行结果抓图
    实验心得 老师我不会抓图,特别难,参考好多同学的,一点点问最后才做出来。太难了,希望老师上课多带带我们。
  • 相关阅读:
    台州 OJ 3847 Mowing the Lawn 线性DP 单调队列
    洛谷 OJ P1417 烹调方案 01背包
    快速幂取模
    台州 OJ 2649 More is better 并查集
    UVa 1640
    UVa 11971
    UVa 10900
    UVa 11346
    UVa 10288
    UVa 1639
  • 原文地址:https://www.cnblogs.com/wangsiqi/p/5954637.html
Copyright © 2011-2022 走看看