C程序设计实验报告

C程序设计实验报告 
试验项目:基本的程序语句实验、程序的简单算法设计实验 
姓名:陈福洲   实验地点:物联网工程实验室   实验时间:2019.03.19
一、实验目的与要求  
1、了解字符在计算机中以ASCII码方式表示,了解字符的类型、字长其数的表示范围。 
2、掌握C语言数据类型,熟练掌握变量定义; 
3、使用scanf()输入变量的值,使用printf()输出变量; 
4、掌握运算符与表达式的使用方法及其优先级和结合性规律。
5、巩固对算法概念的理解,掌握运算符的运算规则。 
二、实验内容
(1)、实验练习:字符与ASCII码 
1、问题的简单描述:从键盘输入一个大写字母,要求转换成小写字母输出,并输出这个小写字母相邻的两个字母,以及它们的ASCII码值。 
2、实验代码: 
#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);
}   

 

3、问题分析:不了解字符与ASCII码的对应关系,所以对这个简单的程序完全没有头绪,最后在老师讲评后才完成这个实验。 
(2)、实验练习:运算符与表达式的运用 
1、问题的简单描述:从键盘输入一个三位数,将输出该数的逆序数。例如,输入123,输出321. 
2、实验代码: 
 
  #include <stdio.h>
    int main()
    {
     int a,b,c,x,y;
     printf("请输入一个3位数:\n");
     scanf("%d",&x);
     a=x/100;
     b=(x-a*100)/10;
     c=x%10;
     y=c*100+b*10+a;
     printf("%d:%d\n",x,y);
     return 0;
    } 

 

3、问题分析:这个程序的关键是求出这个三位数的个、十、百位,刚开始百位没有计算出,在老师的提醒下使用了模运算(%),很快得出了结果,程序运行无误。 
(3)、实验练习:顺序结构运用程序  
1、问题的简单描述:编写一个程序,用于医院收费处出纳算账。要求所在医院费用(西药费、检查费、材料费、床位费、观察费和护理费),打印出应付钱数,再输入病人所付款数,打印出应找钱数。 
2、实验代码:
 
 #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);
     return 0;
    }  

 

3、问题分析:对照了同学的代码,这个程序编译无误,但运行不出结果。 
(4)、实验练习:数学函数的算法描述 
1、问题的简单描述:有一函数:y=x(x<1);y=2*x-1(1<=x<10);y=3x-1(x>=10) 请用流程图表示该函数的算法。输入x的值,输出满足函数关系的y值。 
2、实验代码:
#include<stdio.h>
main()
{
 float x,y;
 printf("请输入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);
} 

 

3、问题分析:这个程序关键是有两个连续的判断结构,嵌套格式很重要。刚开始我还用了“Then”,“Else”的“E”用了大写,然后一直显示if和else搭配错误:'else' without a previous 'if'. 
(5) 、鸡兔同笼的算法描述 
1、问题的简单描述:用流程图描述求解鸡兔同笼问题的算法:已知鸡兔的总头数为h,总脚数为f,求鸡兔各有多少只? 
2、实验代码:
    #include<stdio.h>
    main()
    {
     int h,f,x,y;
     printf("鸡兔总数,鸡兔总脚数:\n");
     scanf("%d,%d",&h,&f);
     if(h>0&&f                                                                                            >0)
     {                                                                                                                 
      x=(4*h-f)/2;
      y=(f-2*h)/2;
      printf("鸡:%d 兔:%d\n",x,y);
     }
     else
     printf("输入错误!\n");
    }  

 

3、问题分析:这个实验的关键是理清鸡和兔数学关系,列出方程,补充程序模板。
(6)、确定坐标的算法描述 
1、问题的简单描述:有个4圆塔,圆心分别为(2,2)、(-2,2)、(2,-2)、(-2,-2),圆半径为1,这4个塔的高度为10m,塔外无建筑物。现输入任一点坐标,若该点坐标在任一圆塔内,则输出圆塔的高度;若该点不在圆塔内,则输出0. 
2、实验代码: 
    #include<stdio.h>
    #include<math.h>
    main()
    {
     int h=10;
     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);
    }  

 

3、问题分析:这个程序也是编译没有问题,但运行有问题。 
三、实验小结  
这次实验中,我对C语言中的printf和scanf函数有了进一步的了解,学到了多种功能简单的程序的编写,还有第3章的if语句的判断结构。但是也不能说完全掌握了,实验大部分都是讲评后才能写出来的,而且有些运行没有问题,但是得不出结果,而且打字速度较慢,容易出错,只要程序中有一个是中文符号,那么程序就是错误的,所以严谨很重要。

转载于:https://www.cnblogs.com/0219cfz/p/10587401.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
医院门诊收费管理系统需求 一、 系统组成 本系统由于五大模块组成: 1. 系统管理 2. 基本资料 3. 查询修改 4. 统计分析 5. 系统帮助 各模块的基本功能如下: 一、系统管理 a. 用户基本信息。包括用户的名称,地址,联系方式,法人,屏保时间,注册码 b. 用户管理。建立用户基本资料 c. 权限管理。分配用户的操作权限 d. 修改密码 e. 数据备份 f. 数据还原 g. 系统日志 二、 基本资料 a. 科室信息 b. 医生信息 c. 收费项目信息 d. 门诊收费收据 e. 退费管理 (当天的收据只能修改,不能作退费处理) 三、 查询修改 a. 收据修改 b. 退费单查询修改 c.系统月结 四、 统计分析 1. 日报表 a、日总报表。包括当日会诊收据的列单,及金额的汇总 b、收费员日报表。包括每个收费员的当日的收费清单及金额的汇总 c、医生收费日报表。分类统计当天所有的医生收费情况。医生收费日报表 d、科室收费日报表。分类统计当天所有的科室收费情况 e、收费项目日报表。分类统计当天所有的收费项目的收费情况。 2、月报表 a、 月总报表。包括选择日期范围内的每日收入小计及当月合计 b、医生收费月报表。分类统计选择日期范围内医生收费情况。 c、科室收费月报表。分类统计选择日期范围所有的科室收费情况 d、收费项目月报表。分类统计选择日期范围所有的收费项目的收费情况 3、时段分类统计 a、收费员单元时间统计 b、 医生单元时间统计 c、 科室单元时间统计 d、 收费项目单元统计 4、公费医序统计

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值