---恢复内容开始---
C程序设计实验报告
实验项目:1、字符与ASCII码、2、运算符与表达式的应用、3、顺序结构应用程序、4、数学函数的算法描述、5、鸡兔同笼的算法描述、6、确定坐标的算法描述
姓名:李研 实验地点:黄金校区514实验室 实验时间:2019.3.06、2019.3.19
一、实验目的与要求
1、了解字符在计算机中以ASCII码方式表示;
了解字符的类型、字长其数的表示范围;
熟练使用scanf()输入用户提供的数据;
熟练使用printf()输出变量;
从键盘中输入任意字符,且在输入前要求有信息提示;
输出两行:第1行是字符形式输出3个字符,3个字符以逗号隔开,第2行是输出字符对应的ASCII码;
2、 掌握算术运算符的使用;
正确定义程序中的变量;
熟练使用scanf()输入用户提供的数据;
熟练使用printf()输出变量;
3、 掌握算术运算符的使用;
正确定义程序中的变量;
熟练使用scanf()输入用户提供的数据;
熟练使用printf()输出变量;
4、 用If语句根据条件的真假进行判断;
掌握运算符的运算规则;
5、 用If语句根据条件的真假进行判断;
掌握运算符的运算规则;
6、 用If语句根据条件的真假进行判断;
掌握运算符的运算规则。
二、实验内容
1、实验练习:ASCII码
问题的简单描述:从键盘输入一个大写字母,要求转换成小写字母输出,并输出这个小写字母相邻的两个字母,以及他们的ASCII码值。
实验代码:
#include <stdio.h> main() { char a,b,c; printf("请输入一个大写字母\n"); scanf("%c",&a); b=a+31; c=a+33; a=a+32; printf("小写字母为:%c%c,%c\n",b,a,c); printf("ASCII值为:%d,%d,%d",b,a,c); }
问题分析:定义字符型变量ch.
大写字母与小写字母的ASCII的值差为32,大写字母转换成小写字母应将其ASCII码+32.
将字符型变量ch案整型输出,便可得到字符的ASCII码。
2、实验练习:
问题的简单描述:从键盘输入一个3位整数、将输出该数的逆序数。例如,输入123,输出321.
实验代码:
#include <stdio.h> int main() { int a,b,c,x,y; x=256 printf("请输入一个3位的正整数:x\n"); scanf("%d",&x); a=x/100; b=(x%100)/10; c=x%10; y=c*100+b*10+a print("%d: %d\n",x,y); return 0; }
问题分析:将输入的3位整数,个位数转换为百位数,百位数转换为个位数,把转换的3个数字生成一个新的逆序数。
任意的3位整数以键盘输入且在输入前要求有提示信息。
输出结果时,要求形式为:原数:转换后的数。
3、实验练习
问题的简单描述:编写一个程序,用于医院收费处出纳算账。要求输入所在医院费用,打印出应付钱数,再输入病人所付款数,打印出应找的钱数。
实验代码:
#include <stdio.h> int main { float x,j,c,hj,fk,zh,cw,g,f; 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); }
问题分析:输入数据包括9个浮点数,因此可以用float来定义。
提示用户输入6项费用,并用scanf()读人到相应的变量中。
计算6项费用的总额,并储存在相应变量中。
用printf()语句输出应付款。
用scanf()语句接收病人的实际付款金额,并存储在相应变量中。
计算应付款和实际付款之间的差额,并存储在相应变量中。
用printf()语句将病人付款、应收款、应找回的各项金额显示。
4、实验练习
问题的简单描述:有一函数y=x(x<1);2x-1(1<x<10);3x-1(x>10)用C语言表示判断变量x的值是否小于1,x的值是否小于10
实验代码:
#include <stdio.h> main() { float x,y; print("请输入x的值;"); scanf("%f",&x); if(x<1) y=x; else if(x<10) y=2*x-1; else y=3*x-1; printf("Y的值为%.2f\n",y); }
#include <stdio.h> main() { int h,f,x,y; printf("鸡兔总数,鸡兔脚总数;"); scanf("%d,%d",&h,&f); if (x>0&&y>0) { x=(4*h-f)/2; y=(f-2*h)/2; printf("鸡:%d 兔:%\n",x,y); } eles { printf("输入错误!\n"); }
#include <stdio.h> main() { int h=10; float x1=2,y1=2,x2=-2,y2=2,x3=-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); } { h=10 printf("该点高度为%d",h);}
---恢复内容结束---