太原理工大学13级c语言实验指导书参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太原理工大学13级c语言实验指导书参考答案
实验一顺序
1-3.温度*/编写程序,输入华氏温度(F),按下列公式计算并输出对应的摄氏温度(C)。
C = 5/9(F – 32)
#include
void main()
{
float c,f;
scanf("%f",&f);
c=5.0/9.0*(f-32);
printf("%5.2f\n",c);
}
/*1-4.三角形面积*/编写程序,从键盘输入一个三角形的三条边长a、b、c(要求任何两条边的边长之和均大于第三条边的边长),求该三角形的面积。
求三角形的面积公式是:
其中:
#include "stdio.h"
#include "math.h"
void main()
{
float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2.0*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f\n",area);
}
/*1-5两数合并*/编写程序,将两个两位数的正整数a、b合并形成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,运行结果为:c=5241。
#include
void main()
{
int a,b,c;
printf("Input a,b :");
scanf("%d,%d",&a,&b);
c=(b/10*1);
c+=(a/10*10);
c+=(b%10*100);
c+=(a%10*1000);
printf("The result is:%d\n",c);
}
实验二选择
必做题
2.1编一程序,使用单分支的if语句形式,求a,b,c 三个整数的中间值。例如:a、b、c的值分别为3、4、5,则输出4。
#include
void main()
{
int a,b,c,t;
printf("Input a,b,c:");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
printf("中间数= %d\n", b);
}
2.2有一函数
x
(x<1)
y =2x –
1(1≤x<10)
3x – 11(x≥10) 用scanf函数输入x的值(分别取x<1、1~10、≥10三种情况),求y值。
#include
void main()
{
int x,y;
printf("Input x:");
scanf("%d",&x);
if(x<1)y=x;
else if(x<10) y=2*x-1;
else y=3*x-11;
printf("x= %d,y=%d\n", x,y);
}
2.3编写程序,输入一位学生的生日(年:y0、月:m0、日:d0)数据,再输入当前的日期(年:y1、月:m1、日:d1)数据,计算并输出该学生的实足年龄。
#include
void main()
{
int y0,m0,d0,y1,m1,d1,nl;
printf("Input 生日(年,月,日):");
scanf("%d,%d,%d",&y0,&m0,&d0);
printf("Input 当前日期(年,月,日):");
scanf("%d,%d,%d",&y1,&m1,&d1);
if(m1>m0||m1= =m0&&d1>=d0)nl=y1-y0;
else nl=y1-y0-1;
printf("年龄= %d\n", nl);
}
2.4编写程序,定义四个字符变量c1,c2,c3和c4,分别用getchar()函数任意输入四个字母,分别输出其中的最大值和最小值。
#include
void main()
{
char c1,c2,c3,c4,max,min;
printf("Input 四个字符:");
c1=getchar();c2=getchar();c3=getchar();c4=g etchar();
max=min=c1;
if(c2>max)max=c2;
if(c3>max)max=c3;
if(c4>max)max=c4;
min=c2 min=c3 min=c4 printf("max=%c,min=%c\n",max,min); } 2.5设整型变量a的值为正数,请将以下C源程序中的if语句形式改写成switch语句形式。 #include main() {int a; printf(”a = ”); scanf(”%d”, &a); if(a<30)m = 1; else if(a < 40) m = 2; else if(a < 50) m = 3; else if(a < 60) m = 4; else m = 6; printf(”m = %d\n”, m); } #include void main() { int a,t,m; printf("Input a="); scanf("%d",&a); if(a>0) {t=a/10; switch(t) {case 0:case 1:case 2:m=1;break; case 3:m=2;break; case 4:m=3;break; case 5:m=4;break; default:m=6;}