《C语言程序设计》实验报告
学 号 |
160809222 |
姓 名 |
黄义方 |
专业、班 |
计科16-2班 |
|
学 期 |
2016-2017 第1学期 |
指导教师 |
黄俊莲 吴喆 |
|||
实验地点 |
C05 |
机 器 号 |
|
|||
上课时间 |
2016年 10 月 8 日 5 周 周六 1-4 节 |
|||||
截止时间 |
2016年 10 月 13 日 6 周 周三 晚 |
|||||
实验任务清单 |
|
|||||
教师评语
|
成绩 |
|||||
|
||||||
实验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(void)
{
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("数字太小! ");
else if(yourNumber>myNumber)
printf("数字太大! ");
else if(yourNumber==myNumber)
printf("恭喜您,猜对了! ");
else
printf("你输入的字符不合法,请重新输入! ");
}
while(yourNumber!=myNumber);
printf("您一共猜了%d次 ",count);
if(count<3)
{
printf("您在第%d次就猜对了! ",count);
printf("您真是天才! ");
}
if(count>=3&&count<8)
{
printf("您在第%d次猜对了! ",count);
printf("智商正常! ");
}
if(count>8)
{
printf("您在第%d次猜对了! ",count);
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()
{
float a,b,c,p,s,d;
printf("请输入边长:
");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
printf("能够构成三角形
");
}
else{
printf("不能构成三角形
");
return 0;
}
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("面积是:%f
",s);
d=(a+b+c);
printf("周长是:%f
",d);
return 0;
}
运行结果抓图
实验2-8 个人所得税计算器
实验要求:
编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:个人税率表)。
(1)分别用
if
语句和
switch
语句完成;
(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加源码
#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
您本月应的税后收入为:%f
",tax,TaxIncome);
return 0;}
#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
您本月应的税后收入为:%f
",tax,TaxIncome);
return 0;}
这次作业对自己来说有些难度,做了挺久的
学会了if witch 语句
最后一题的if做法最后输出有问题。。。