C语言实验报告(二)
一、实验目的
1、掌握C语言中,选择结构
2、掌握C语言中,分段函数的输入与输出
3、掌握if,else条件语句的用法
4、掌握数学函数的使用
二、实验内容
1.有一分段函数如下:
编写程序,输入x(实数)的值,输出以如下格式:x=??.??,y=??.?? (即小数部分保留2位)
·程序代码:
#include"stdio.h"
int main()
{
float x,y;
scanf("%f",&x);
if(x<1)
y=x*x;
else if(x<10)
y=5*x-1;
else
y=2*x+4;
printf("x=%.2f,y=%.2f\n",x,y);
return0;
}
2.从键盘输入三个实数,输出最大数和最小数。
样例输入:1.233.455.67
样例输出:5.671.23
·程序代码:
#include"stdio.h"
int main()
{
double num1,num2,num3,min,max,t;
scanf("%lf%lf%lf",&num1,&num2,&num3);
min=num1;
if(min>num2)
min=num2;
else min=num1;
if(min>num3)
min=num3;
max=num1;
if(max<num2)
max=num2;
else max=num1;
if(max<num3)
max=num3;
printf("%.2f%.2f",max,min);
return0;
}
3.读入3个非零的double数后,判别这三个值是否可以表示一个三角形的三条边。
样例输入1:1.23 1.23 1.23样例输出1:yes.
样例输入2:5.233.45-12.34样例输出2:no.
·程序代码:
#include"stdio.h"
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
printf("yes.\n");
else
printf("no.\n");
return0;
}
4.读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
样例输入1:345样例输出1:yes.
样例输入2:561样例输出2:no.·程序代码:
#include"stdio.h"
#include"math.h"
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&b+c>a&&a+c>b)
{
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("yes.\n");
else
printf("no.\n");
}
else
printf("no.\n");
return0;
}
5.编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:
操作数1运算符op操作数2
计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)。
样例输入1:21.23+12.56
样例输出1:21.23+12.56=33.79
样例输入2:1*2
样例输出2:1.00*2.00=2.00
在做除法运算时,若操作数2为0,则输出:除数为0
·程序代码:
#include"stdio.h"
int main()
{
double a,b;
char ch;
scanf("%lf%c%lf",&a,&ch,&b);
if(ch=='/'&&b==0)
printf("除数为0\n");
else
switch(ch)
{
case'+':printf("%.2f+%.2f=%.2f\n",a,b,a+b);break;
case'-':printf("%.2f-%.2f=%.2f\n",a,b,a-b);break;
case'*':printf("%.2f*%.2f=%.2f\n",a,b,a*b);break;
case'/':printf("%.2f/%.2f=%.2f\n",a,b,a/b);break;
}
return0;
}
6.某产品生产成本c=c1+m*c2,其中c1为固定成本,c2为单位产品可变成本,m为生产数量。
当m<10000时,c1=20000元,c2=10元;当m≥10000时,c1=40000元,c2=5元;
编写一个程序,其功能为:根据输入的生产数量,输出总生产成本及单位生产成本。
输入生产数量
输出生产数量总生产成本单位可变成本
样例输入6000
样例输出60008000010
·程序代码:
#include"stdio.h"
int main()
{
int c,m,c2;
scanf("%d",&m);
if(m<10000)
{c2=10;
c=20000+c2*m;}
else
{c2=5;
c=40000+c2*m;}
printf("%d%d%d\n",m,c,c2);
return0;
}
7.根据键盘输入的一个字符所属类别,判别它属于:大写字母(输出:1)、小写字母(输出:2)、数字字符(输出:3)、其它字符(输出:4)。
输入一个字符输出字符类别号
样例输入A样例输出1
·程序代码:
#include"stdio.h"
int main()
{
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
printf("1\n");
else if(ch>='a'&&ch<='z')
printf("2\n");
else if(ch>='0'&&ch<='9')
printf("3\n");
else
printf("4\n");
return0;
}
8.实现如下分段函数:
输入是一个实型数据。
输出以如下格式输出:x=0.250,y=5.250(即输出一律保留3位小数)
样例输入0.250样例输出x=0.250,y=5.250
·程序代码:
#include"stdio.h"
int main()
{
char ch;
scanf("%c",&ch);
if(ch>='A'&&ch<='Z')
printf("1\n");
else if(ch>='a'&&ch<='z') printf("2\n");
else if(ch>='0'&&ch<='9') printf("3\n");
else
printf("4\n");
return0;
}。