第二章,第三章实验报告

Posted xiongyi1218

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二章,第三章实验报告相关的知识,希望对你有一定的参考价值。

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、在实验分享,共享屏幕分析代码时,发现自己只会使用课本上的实验代码,课外的方法一概不知,说明课外拓展不够充实。

以上是关于第二章,第三章实验报告的主要内容,如果未能解决你的问题,请参考以下文章

2109春第一次课程设计实验报告

2019春第三次课程设计实验报告

第三次实验报告

数据结构荣誉课--第三次实验解题报告

数据结构荣誉课--第三次实验解题报告

数据结构荣誉课--第三次实验解题报告