• 第二章,第三章实验报告


    C程序设计实验报告(第二次)

    姓名:熊毅

    实验地点:家

    实验时间:2020.03.10

    实验项目:字符与ASCII码;运算符与表达式的应用;顺序结构应用程序;数学函数;鸡兔同笼;确定坐标

    一、实验目的与要求

    1、掌握自增++、自减--运算符的正确使用。
    2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。
    3、掌握结构化程序的算法描述方法。
    4、熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。

    二、实验内容

    1、实验练习:实验2.3.3 字符与ASCII码

    1问题的简单描述:从键盘输入一个大写字母,要求将其转换成小写字母并输出,同时输出这个小写字母相邻的两个字母,以及它们的ASCLL值。
    2实验代码:

    #include<stdio.h>
    main()
    {
        int a,b,c,d;
        printf("请输入一个大写字母:
    ") ;
        scanf("%c",&a);
        b=a+32;
        c=b-1;
        d=b+1;
        printf("小写字母为:%c,%c,%c
    ",c,b,d);
        printf("ASCII码值为:%d,%d,%d",c,b,d);
     
    }
    

    3问题分析:要注意字母大小写的转换,以及中间的差值。

    2、实验练习:实验2.3.4 运算符与表达式的应用

    1问题的简单描述:从键盘输入一个3位正整数,要求输出该数的逆序数。
    2实验代码:

    #include<stdio.h>
    int main()
    {
        int a,b,c,x,y;
        printf("请输入一个3位正整数:
    ");
        scanf("%d",&x);
        a=x/100;   //个位 
        b=x%100/10;  //十位 
        c=x%10;  //百位 
        y=c*100+b*10+a;
        printf("%d: %d
    ",x,y) ;
        return 0;	
    }
    

    3问题分析:注意%和/的使用和要区分%和/所表示的意义,用“/”表示除法,用“%”表示整数相除,取余数。

    3、实验练习:2.3.5 顺序结构应用程序

    1问题的简单描述:编写出一个程序,方便医院收费处利用此程序出纳算账。
    2实验代码:

    #include<stdio.h>
    int main()
    {
        float a,b,c,d,e,f,g,h,j;  //其中,a代表西药费;b代表检查费;c代表材料费;d代表床位费;e代表观察费;f代表护理费;g代表应付款;h代表病人付款额,j代表应找回的金额//
        printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:
    ");
        scanf("%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&e,&f);
        g=a+b+c+d+e+f;
        printf("应付款:%.2f",g);
        printf("病人付款:");
        scanf("%f",&h);
        j=h-g;
        printf("计算结果:
    ");
        printf("病人付款=%6.2f元
    应收款=%6.2f元,应找回=%6.2f元
    ",g,h,j);
        return 0;
    }
    

    3问题分析:在输入代码的过程中,注意中英文输入法的切换,以及注意printf(),scanf()语句的应用。

    4、实验练习:实验3.3.1 数学函数的算法描述

    1问题的简单描述:

    ,请用算法流程图表示该函数的算法。

    2实验代码:

    #include<stdio.h>
    main()
    {
        float x,y;
        printf("请输入x的值:
    ");
        scanf("%f",&x);
        if(x<1)       y=x;
        if(1<=x<10)   y=2*x-1;
        if(x>=10)     y=3*x-1;
        printf("y的值为%.2f
    ",y);
    }
    

    3问题分析 :在进行代码编译的前,需要先分析问题中各个条件之间的关系
    4流程图

    5、实验练习:实验3.3.2 鸡兔同笼的算法描述

    1问题的简单描述:用算法流程图描述求解鸡兔同笼问题的算法。
    2实验代码:

    #include<stdio.h>
    int main()
    {
        int h,f,x,y;
        printf("鸡兔总数量,鸡兔脚总数量:");
        scanf("%d %d",&h,&f);
        if(h>0&&f>0)  
        {
    	    x=(4*h-f)/2;
    	    y=(f-2*h)/2;
    	    printf("鸡有%d 兔有%d
    ",x,y);
        }
        else
        {
    	    printf("输入错误!
    ");
        }
        return 0;
    }
    

    3问题分析:整型变量注意用int,if else的使用以及在出现多个函数时{}的使用。
    4流程图:

    6、实验练习:实验3.3.3 确定坐标的算法描述

    1问题的简单描述:圆塔位置如图所示,现输入任意坐标,该点坐标在任意一个圆塔内,则输出圆塔的高度;若该点不在圆塔内,则输出0。
    2实验代码:

    #include<stdio.h> 
    #include<math.h>
    main()
    {
        int h=10;
        float x1=1,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;
        else h=10;
        printf("该塔高度为%d",h);
    }
    

    3问题分析:#include<math.h>的使用,和sqrt()的使用,以及平方的表示。

    三、实验小结

    1、学习了markdown的使用方法,以及发现了自己对博客园不熟悉的地方比较多,要多加练习和理解。
    2、在本次实验中对#include<math.h>使用更加加深,两次实验都运用了#include<math.h>头文件,对数学函数的程序理解更加深刻。
    3、在实验分享,共享屏幕分析代码时,发现自己只会使用课本上的实验代码,课外的方法一概不知,说明课外拓展不够充实。

  • 相关阅读:
    Oracle存储过程小记DUAL
    线程私有数据(TSD)
    Unix 五种基本I/O模型的区别
    Redis系列(0)应用场景
    linux ubuntu引导 win7
    Redis系列(一)启动流程分析
    c++ 内存管理小结
    设计模式Facade模式应用场景
    学会理财不做穷人
    jquery 注册验证例子
  • 原文地址:https://www.cnblogs.com/Xiongyi1218/p/12494313.html
Copyright © 2020-2023  润新知