《C语言程序设计》实验报告
学 号 160809202 姓 名 徐肇宁 专业、班 计科16-2班
学 期 2016-2017 第1学期 指导教师 黄俊莲 吴喆
实验地点 C区二层机房 机 器 号
上课时间 2016年 9 月 22 日 2 周 周四 1-4 节
截止时间 2016年 9 月 28 日 3 周 周三 12:00
实验任务清单 1. 实验2-1 输入3个数,并按由大到小的顺序输出。
2. 实验2-2 从键盘上输入x的值,并根据计算输出y的值
3. 实验2-3从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。
4. 实验2-4从键盘上输入x的值,并根据计算输出y的值
5. 实验2-5 给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’,80~89输出’B’,70~79输出’C’,60~69输出’D’,60分以下输出’E’。
教师评语
成绩
实验2 选择结构程序设计
实验2-1 输入3个数,并按由大到小的顺序输出。
实验要求:
编写一个C程序,输入3个数,并按由大到小的顺序输出。
参考:
源码:#include<stdio.h>
int main(){
int a,b,c,t;
printf("ÇëÊäÈë3¸öÕûÊý£º");
scanf("%d%d%d",&a,&b,&c);
if(a<b){
t=a;
a=b;
b=t;
if(b>c){
printf("%d\t%d\t%d\n",a,b,c);
}
else if(c>a){
printf("%d\t%d\t%d\n",c,a,b);
}
else{
printf("%d\t%d\t%d\n",a,c,b);
}
return 0;
}
运行结果抓图
实验2-2 从键盘上输入x的值,并根据计算输出y的值
实验要求:从键盘上输入x的值,并根据计算输出y的值
提示:
1. 使用数据函数需要#include <math.h>
2. 开方函数:sqrt(x)
3. 绝对值函数:fabs(x)
源码
#include<stdio.h>
#include<math.h>
int main(){
float x,y;
printf("ÇëÊäÈëxµÄÖµ£º");
scanf("%f",&x);
if(x>4)
y=sqrt(x-4);
else if(x<-5)
y=fabs(x);
else
y=x+3;
printf("y=%f\n",y);
return 0;
}
实验结果:


实验2-3从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。
实验要求:从键盘上输入一个字母,如果是小写字母,将其转换成大写字母并输出。
提示:
1. 输入字符给变量c
char c;
方法一:c = getchar();
方法二:scanf("%c",&c);
2. 输出字符变量c
方法一:putchar(c);
方法二:printf("%c",c);
程序源码
#include<stdio.h>
int main(){
char c;
printf("ÇëÊäÈëÒ»¸öСд×Öĸ£º");
c=getchar();
putchar(c-32);
return 0;
}
运行结果抓图
实验2-4从键盘上输入x的值,并根据计算输出y的值
实验要求:从键盘上输入x的值,并根据计算输出y的值
程序源码
#include<stdio.h>
int main(){
float x,y;
printf("ÇëÊäÈëÒ»¸öÊý£º");
scanf("%f",&x);
if(x<1)
y=x;
else if(x>=1 && x<10)
y=2*x-1;
else
y=3*x-11;
printf("y=%f\n",y);
return 0;
}
运行结果抓图

实验2-5 给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’,80~89输出’B’,70~79输出’C’,60~69输出’D’,60分以下输出’E’。
实验要求:
给出一个百分制的成绩,要求出成绩等级’A’、’B’、’C’、’D’、’E’,其中90分以上输出’A’,80~89输出’B’,70~79输出’C’,60~69输出’D’,60分以下输出’E’。
提示:
本实验要求同学们采用两种方法来完成:
方法一:使用if语句完成
方法二:使用switch语句完成。
程序源码
#include<stdio.h>
int main(){
int grade;
printf("ÇëÊäÈëÒ»¸ö³É¼¨£º");
scanf("%d",&grade);
if(grade>=90)
printf("A\n");
else if(grade>=80 && grade<=89)
printf("B\n");
else if(grade>=70 && grade<=79)
printf("C\n");
else if(grade>=60 && grade<=69)
printf("D\n");
else
printf("E\n");
return 0;
}
运行结果抓图



实验心得
难道是不难,只要看清楚scanf输出的是%d还是%f
Float和int的合理运用
If 和else if无限的循环
最后一题要设定grade 进行分项输出对应ABCDE