C语言程序设计实训报告
班级:姓名:学号:
实训目的能力目标
全面熟悉、掌握C语言基本知识,掌握C程序设计中数组、函数、指针的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
实训要求:
(1) 掌握C语言中的基本数据输入、输出;
(2) 熟练使用C语言中的数组;
(3) 熟练使用C语言中的函数;
(4) 熟练使用C语言中的指针;
(5) 熟练使用C语言中的结构体。
实训内容(过程及步骤)
设计题目:简单计算器
1、基本思路:
先自定义好加、减、乘、除、求余、求周长、求面积等函数。在写主函数调用前面的自定义函数,进行计算,选择好计算种类,输入2个数 回车进行计算得到结果。
2、程序:
#include "stdio.h"
#include "math.h"
void sum()
{
float a[2];
printf("您选择了加法\n");
printf("请输入:\n");
scanf("%f",&a[0]);
scanf("%f",&a[1]);
printf("%g+%g=%g\n",a[0],a[1],a[0]+a[1]);
}
void jianfa()
{
float a[2];
printf("您选择了减法\n");
printf("请输入:\n");
scanf("%f",&a[0]);
scanf("%f",&a[1]);
printf("%g-%g=%g\n",a[0],a[1],a[0]-a[1]);
}
void cheng()
{
float a[2];
printf("您选择了乘法\n");
printf("请输入:\n");
scanf("%f",&a[0]);
scanf("%f",&a[1]);
printf("%g*%g=%g\n",a[0],a[1],a[0]*a[1]);
}
void chu()
{
float a[2];
printf("您选择了除法\n");
printf("请输入:\n");
scanf("%f",&a[0]);
scanf("%f",&a[1]);
printf("%g/%g=%g\n",a[0],a[1],a[0]/a[1]);
}
void yu()
{
int a[2];
printf("您选择了求余\n");
printf("请输入整数:\n");
scanf("%d",&a[0]);
scanf("%d",&a[1]);
printf("%d求余%d=%d\n",a[0],a[1],a[0]%a[1]);
}
void sanjiao()
{
float x[3],a,b,c,s,p;
printf("您选择了求三角面积\n");
printf("请输入三边长度:\n");
scanf("%f",&x[0]);
scanf("%f",&x[1]);
scanf("%f",&x[2]);
a=x[0];
b=x[1];
c=x[2];
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("面积:%g",s);
}
else printf("不是三角形吧~切~\n");
}
void zhouchang()
{
float x[3],a,b,c,s,p;
printf("您选择了求三角周长\n");
printf("请输入三边长度:\n");
scanf("%f",&x[0]);
scanf("%f",&x[1]);
scanf("%f",&x[2]);
a=x[0];
b=x[1];
c=x[2];
if((a+b)>c&&(a+c)>b&&(b+c)>a)
{
printf("周长为:%g\n",x[0]+x[1]+x[2]);
}
else printf("不是三角形吧~切~\n");
}
void tixing()
{
float x[3],a,b,c,s,p;
printf("您选择了求梯形面积\n");
printf("请输入上下底及高:\n");
scanf("%f",&x[0]);
scanf("%f",&x[1]);
scanf("%f",&x[2]);
printf("面积为:%g",(x[0]+x[1])*x[2]/2);
}
void yuan()
{
float r;
printf("您选择了求圆面积\n");
scanf("%f",&r);
printf("面积为:%g",r*r*3.141592658);
}
void sinx()
{
float a,i;
printf("您选择了求sin\n请输入");
scanf("%f",&a);
i=sin(a);
printf("%g",i);
}
void cosx()
{
float a,i;
printf("您选择了求cos\n请输入");
scanf("%f",&a);
i=cos(a);
printf("%g",i);
}
void tang()
{
float a,i;
printf("您选择了求tan\n请输入");
scanf("%f",&a);
i=tan(a);
printf("%g",i);
}
void cotg()
{
float a,i;
printf("您选择了求cot\n请输入");
scanf("%f",&a);
if(a!=0)
{ i=1/tan(a);
printf("%g",i);
}
else printf("NC吧你~");
}
int main()
{
int b;
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("@@@@@@@@@@@@@QD版小型计算器@@@@@@@@@@@@@\n");
printf("@@@@@@@@@@@@@设计者:康文科@@@@@@@@@@@@@\n");
printf("请选择功能: ---------\n1————加法\n2————减法\n3————乘法\n4————除法\n5————求余数\n6————求三角形面积\n7————求三角形周长\n8————求梯形面积\n9————求圆形面积\n10————求sin\n11————求cos\n12————求tg\n13————求ctg\n");
for(b=0;;)
{
printf("请您选择");
scanf("%d",&b);
if(b==1)
sum();
if(b==2)
jianfa();
else if(b==3)
cheng();
else if(b==4)
chu();
else if(b==5)
yu();
else if(b==6)
sanjiao();
else if(b==7)
zhouchang();
else if(b==8)
tixing();
else if(b==9)
yuan();
else if(b==10)
sinx();
else if(b==11)
cosx();
else if(b==12)
tang();
else if(b==13)
cotg();
}
3、运行结果(截图):
第一步:运行主界
第二步:选择计算类型
第三步:输入数据进行计算。
第九步:保存数据
第十步:导出数据
4、遇到困难:
在进行此次实训的过程中我遇到了许多的问题,比如没有定义函数名就进行函数的编译,以至于等到运行时找了很久都没有找到错误。以及如何用函数把变量传送到到指定的地址等等。
实训心得:
历时2天的《C语言程序实训》已经结束了,在这2天编程的过程中感触颇多,实训编程的同时暴露出了许多我自身存在的问题,同时也对自身有了很大的提高。
首先,对我以前做题做事非常马虎的毛病有了很大的改进,通过在这2天编程的过程中的锻炼,我现在做题比以前仔细多了,会小心翼翼地去看每一个地方,会仔细地检查程序的每一个字母、标点。
其次,在些天编程的过程当中弥补了我许多知识上的缺陷,弄清楚了我不懂的地方和似是而非的地方,使我及时补上了欠缺。
再次,通过2天综合实训编程使我的知识形成了一个完整的框架结构,而不再是零散的知识个体,使我在使用时更加的方便。
第二篇:C语言程序设计实训报告2(选择)
实训二 编程基础训练——选择
一、
1.
2.
二、
1. 实训目的 熟悉变量、输入、输出等基本操作 进行选择结构程序设计练习 实训内容及步骤 从键盘输入两个数,比较大小,输出大的数。
2. 从键盘输入三个个数,比较大小,按从小到大输出三个数。
3. 大小写转换——如果从键盘输入一个大写字母,要求用小写字母输出;如果从键盘输入一个小写字母,要求用大写字母输出。
4. 从键盘输入一个学生成绩,对成绩进行判定,0-59不及格,60-69合格,70-79中等,80-89良好,90-100优秀。
三、 算法设计思想(流程图)
程序一算法思想:
…
程序二算法思想:
…
四、 测试与运行结果(输入你自己的测试结果,每位同学应该不一样)
程序一运行结果:
…
程序二运行结果:
…
五、 实训体会(难点及解决方法)
1. 在调试程序的过程中遇到什么问题?是如何解决的?
答:…
2. 通过做本次实训,你有什么收获?
答:…
3. 你有什么建议或心得体会?
六、 附录源程序
程序一源程序:
…
程序二源程序:
…