C程序设计实验报告
实验项目:C语言程序设计(实验)
姓名:涂宇昌 实验地点:家 实验时间:2020/3/15
一、实验目的与要求
1、掌握自增++、自减--运算符的正确使用。
2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。
3、掌握结构化程序的算法描述方法。
4、熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。
二、实验内容
1、实验练习:字符与ASCII码
1问题的简单描述:从键盘输入一个大写字母,要求将其转换成小写字母并输出,同时输出这个字母相邻的两个字母及ASCLL值。
2实验代码:
#includemain() { char a,b,c,d; printf("请输入一个大写字母:"); scanf("%c",&a); b=a+31; c=a+32; d=a+33; printf("小写字母为%c,%c,%c\n",b,c,d); printf("ASCII值为%d,%d,%d\n",b,c,d); }
3问题分析:大小写差值为32
2、实验练习:运算符与表达式的应用
1问题的简单描述:从键盘输入一个三位正整数,要求输出该数的逆序数。
2实验代码:
#includemain() { int a,b,c,d,e; printf("请输入一个三位正整数:\n"); scanf("%d",&a); b=(int)(a/100); c=((int)(a/10)%10); d=a%10; e=d%100+c*10+b; printf("%d:%d\n",a,e); }
3问题分析:数字要拆开
3、实验练习:顺序结构应用程序
1问题的简单描述:要求输入病人在医院的各项支出费用,计算出应付款数及应找还的金额
2实验代码:
#includemain() { float a,b,c,d,e,f,x,y,z;/*其中a为西药费,b为检查费,c为材料费,d为床位费,e为观察费,f为护理费,x表示应付款,y表示病人付款,z代表找回金额*/ printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:\n"); scanf("%a,%b,%c,%d,%e,%f",&a,&b,&c,&d,&e,&f,&y); x=a+b+c+d+e+f; z=y-x; printf("病人付款=%。2发\n",y); printf("应付款=%.2f,",x); printf("应找回=%。2f\n",z); }
3问题分析:无
4、实验练习:数学函数的算法描述
2实验代码:
#includemain() { float x,y; scanf("%f",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-1; printf("y的值为%.f\n",y); }
3问题分析:无
5、实验练习:鸡兔同笼的算法描述
1问题的简单描述:用算法流程图表示鸡兔同笼问题的算法
2实验代码:
#includemain() { int a,b,x,y; printf("%a,%b"); scanf("%x,%y",&a,&b); if(a>0&&b>0) { x=(4*a-b)/2; y=(b-2*a)/2; printf("%x,%y"); } else printf("数据有误!"); }
3问题分析:无
6、实验练习:确定坐标的算法描述
1问题的简单描述:有4个圆塔,圆心为(2,2)、(2,-2)、(-2,2)、(-2,-2)半径为1,塔高度为10m。现任输入一点坐标,若点坐标在塔内,则输出塔高,否则为0
2实验代码:
#includemain() { float h,x1,y1,x2,y2,x3,y3,x4,y4,x,y,d1,d2,d3,d4,d5,d6,d7,h1,h2; h=10,x1=2,x2=2,x3=-2,x4=-2,y1=2,y2=-2,y3=2,y4=-2; printf("请输入一个点(x,y):"); scanf("%f,%f",&x,&y); d1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); d2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2)); d3=sqrt((x-x3)*(x-y3)+(y-y3)*(y-y3)); d4=sqrt((x-x4)*(x-x4)+(y-y4)*(y-y4)); if(d1.1&&d2>1&&d3>1&&d4>1) { h1=0; printf("该塔的高度为%f",h1); else h2=10; printf("该塔的高度为%f",h2); } }
3问题分析:无
三、实验小结(在本次实验中收获与不足)
对各种运算符还并不是很熟悉,需要在课外时间多多了解