160809212田京诚C语言程序设计实验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()
{
    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)
    {
        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;
}

  

实验心得

这次作业好难,做起来非常吃力,第一道题就卡了好久,一次次的筛选,一次次调试地方,现在我的问题是一个函数可以,多个函数放在一起就出问题了,还有浮点数和整数有时候还是注意不准确,system("cls");这个看来百度什么的还是不明白。

暂时最后一题还有一些问题,需要研究,暂且交这个,如果能解决的话,会补交的。

时间: 2024-12-17 20:06:11

160809212田京诚C语言程序设计实验2 选择结构程序设计_进阶的相关文章

符瑞艺 160809228_C语言程序设计实验2 选择结构程序设计

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

学号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%

160809225_叶桦汀_C语言程序设计实验2 选择结构程序设计_进阶

#include<stdio.h> #include<math.h> int main() { int a,b,c,l,p,s; printf("请输入三个数:"); scanf("%d%d%d",&a,&b,&c); if(a+b>c && a-b<c) { l=a+b+c; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("此三

160809209_李梦鑫_C语言程序设计实验3 循环结构程序设计

<C语言程序设计>实验报告 学 号 160809209 姓 名 李梦鑫 专业.班 计科16-2班 学    期 2016-2017 第1学期 指导教师 黄俊莲 吉吉老师 实验地点 C05 机 器 号 时    间 2016年 10 月   13 日    6   周 周四  1.2 节 截至日期 2016.10.13 11:50 实验任务清单 实验3-1 分别使用while循环.do while循环.for循环求                                         

160809228_符瑞艺_C语言程序设计实验3 循环结构程序设计

#include <stdio.h> int main(){ //使用for循环完成1+2+......+100 int i,sum = 0; for(i=1;i<=100;i++) sum +=i; //sum = sum + i; printf("sum=%d\n",sum); //使用do while循环完成,,, i = 1; sum = 0; do{ sum += i; i++; } while (i<=100); printf("sum =

C语言学习笔记-4.选择结构程序设计

一.关系运算符和表达式 1.C语言中没有单独的逻辑数据类型,非0代表真,0代表假 2.在求解一个逻辑表达式的过程中并不执行所有运算符 例:a && b && c,a为假,则b.c不会被执行 二.条件运算符 1.<表达式1> ? <表达式2> : <表达式3> (三目运算符) 表达式1为真则执行表达式2,若为假则执行表达式3 三.switch语句 1.表达式的计算结果必须是一个整数 case后的常量也必须是整数常量 2.case后可以是多条

南邮JAVA程序设计实验3 流处理程序设计

南邮JAVA程序设计实验3  流处理程序设计 实验目的: 要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合使用方法. 实验内容: 设计和编写一个程序从键盘读入一行字符串,将其写入一个文本文件中,再编写另一个程序从文本文件中读入字符串并在命令行窗口显示出来. 实验程序1: 用数据的基本的读入Scanner读入一行,用缓冲流写入文件. import java.io.*; import java.ut

实验二 顺序结构程序设计

安徽工程大学 Python程序设计 实验报告 班级 物流191        姓名 何然      学号 3190505114  成绩 日期 2020年3月21日       指导教师   修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] (1)掌握数据的输入输出的方法: (2)熟悉顺序结构程序中语句的执行过程: (3)掌握顺序结构程序的设计方法. [实验内容] 1.完成三个编程题.( python123) (1)计算圆面积的计算 S 问题描述: 根据圆的半径计算圆面积,半径为25.请

实验二 顺序结构程序设计(验证性实验

安徽工程大学 Python程序设计 实验报告 班级   物流192   姓名 张羽  学号3190505221 成绩 日期     2020.3.22      指导老师       修宇 实验二 顺序结构程序设计(验证性实验) [实验目的] (1)掌握数据的输入输出的方法: (2)熟悉顺序结构程序中语句的执行过程: (3)掌握顺序结构程序的设计方法. [实验条件] PC机或者远程编程环境 [实验内容] 1.完成三个编程题.( python123) (1)计算圆面积的计算 S 问题描述: 根据圆