C程序设计实验报告
实验项目:1、字符与ASCII码
2、运算符与表达式的应用
3、顺序结构应用程序
4、数学函数的算法描述
5、鸡兔同笼的算法描述
6、确定坐标的算法描述
姓名:徐瑾琳
实验地点:家
实验时间:2020.3.11
一、实验目的与要求
1、掌握自增++、自减--运算符的正确使用。
2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。
3、掌握结构化程序的算法描述方法。
4、熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。
二、实验内容
1、实验练习:2.3.3字符与ASCALL码
1问题的简单描述:输入一个大写字母,转换为小写字母并输出,同时输出小写字母相邻的两个字母及ASCALL值
2实验代码:
#include<stdio.h> main() { char a,b,c,d; printf("请输入一个大写字母:\n"); scanf("%c",&a); b=a+31; c=a+32; d=a+33; printf("小写字母为:%c,%c,%c\n",b,c,d); printf("ASCLL值为:%d,%d,%d",b,c,d); }
3问题分析:要记住大小写字母ASCALL值的转换
2、实验练习:2.3.4运算符与表达式的应用
1问题的简单描述:输入一个三位数,要求输出逆序数
2实验代码:
#include <stdio.h> int main() { int a,b,c,x,y; printf("请输入一个3位正整数:\n"); scanf("%d",&x); c=x%100%10; b=x%100/10; a=x/100; y=c*100+b*10+a; printf("%d: %d\n",x,y); return 0; }
3问题分析:需清楚数据中每位数的表示方法
3、实验练习:2.3.5顺序结构运用程序
1问题的简单描述:编写程序方便医院收费处出纳算账
2实验代码:
#include <stdio.h> int main() { float x,j,c,cw,g,f,hj,fk,zh; /*其中,x代表西药费;j代表检查费;c代表床位费;g代表观察费; f代表护理费;hj代表应付款;fk代表病人付款额;zh代表应找回的金额;*/ printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:\n"); scanf("%f,%f,%f,%f,%f,%f",&x,&j,&c,&cw,&g,&f); hj=x+j+c+cw+g+f; printf("应付款(元):%.2f",hj); printf("病人付款(元):"); scanf("%f",&fk); zh=fk-hj; printf("计算结果:\n"); printf("病人付款=%6.2f元\n应收款=%6.2f元,应找回=%6.2f元\n",fk,hj,zh); return 0; }
3问题分析:注意中英文输入法的切换
4、实验练习:3.3.1数学函数的算法描述
1问题的简单描述:输入x的值,然后输出满足关系式的y的值
2实验代码:
#include <stdio.h> void main() { float x,y; printf("请输入x的值:"); scanf("%f",&x); if(x<1) y=x; else if(x>=1&&x<10) y=2*x-1; else y=3*x-1; printf("y的值为%.2f",y); }
3问题分析:数值与字母相乘中间用*连接
4算法流程图:
5、实验练习:3.3.2鸡兔同笼的算法描述
1问题的简单描述:用算法流程图解决鸡兔同笼问题的算法
2实验代码:
#include <stdio.h> main() { int x,y,h,f; printf("鸡兔总数,鸡兔脚总数:"); scanf("%d,%d",&h,&f); if(h>0&&f>0) { y=(f-2*h)/2; x=(4*h-f)/2; printf("鸡有%d,兔有%d\n",x,y); } else printf("输入错误!\n"); }
3问题分析:if函数中判断的条件变量应为输出时的变量h,f
4流程图:
6、实验练习:3.3.3确定坐标的算法描述
1问题的简单描述:
2实验代码:
#include <stdio.h> #include <math.h> main() { int h; float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4; 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-x3)+(y-y3)*(y-y3)); d4=sqrt((x-x4)*(x-x4)+(y-y4)*(y-y4)); if(d1>1&&d2>1&&d3>1&&d4>1) { h=0; printf("圆塔的高度为%d",h); } else { h=10; printf("圆塔的高度为%d",h); } }
3问题分析:使用sqrt函数前应调用数学函数
三、实验小结
通过此次实验,我现在可以编写简单的C语言程序以及基本的算法流程图,进一步掌握了变量的定义,输入输出函数的使用以及运算符的使用。