C语言实验报告二

C程序设计实验报告

实验项目:C程序设计实验报告______________________________________

姓名:熊晓东_________实验地点:家_________实验时间:3.15__________

一、实验目的与要求

1、掌握自增++、自减--运算符的正确使用。

2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。

3、掌握结构化程序的算法描述方法。

4、熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。

二、实验内容

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

1问题的简单描述:ASCII码的分析

2实验代码

```
#include<stdio.h>

void main()
{
	char a,b,c,d;
	printf("请输入一个大写字母:");
	scanf("%c",&a);
	b=a+31;
	c=a+32;
	d=a+33;
	printf("小写字母为%c,%c,%c\n",b,c,d);
	printf("ASCII值为%d,%d,%d\n",b,c,d);
	 
}

  

3问题分析:掌控ASCII码的合理转换及问题分析

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

1问题的简单描述:数的代换

2实验代码:

···
#include<stdio.h>
main()
{
    int a,b,c,d,e;
    printf("请输入一个三位正整数:\n");
    scanf("%d",&a);
    b=(int)(a/100);
    c=((int)(a/10)%10);
    d=a%10;
    e=d*100+c*10+b;
    printf("%d:%d\n",a,e);
}

 

3问题分析:搞清楚字母对应的关系

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

1问题的简单描述:

2实验代码:字母较多,容易搞混。

···
#include<stdio.h>
void main()
{
    float a,b,c,d,e,f,x,y,z;/*其中a代表西药费,b代表检查费,c代表材料费,d代表床位费,e代表观察费,f代表护理费,x表示病人应付款,y表示病人付款,z表示找回金额*/
    printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:\n");
    scanf("%f,%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&e,&f,&y);
    x=a+b+c+d+e+f;
    z=y-x;
    printf("病人付款=%.2f\n",y);
    printf("应付款=%.2f,",x);
    printf("应找回=%.2f\n",z);
    
}

3问题分析:理清每一个字母代表的意义。

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

1问题的简单描述:if函数的使用

2实验代码:

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

3问题分析:要注意if函数的应用

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

1问题的简单描述:合理表示鸡兔同笼的算法

2实验代码:

#include<stdio.h> 
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\n",x,y);
    }
    else
        printf("输出结果错误!\n");
}

3问题分析:根据流程图一步一步来

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

1问题的简单描述:分析问题不能乱,要逻辑严密

2实验代码:

···
#include<stdio.h> 
#include<math.h>
#define min(a,b) ( ((a)>(b)) ? (b):(a) )
void main()
{
    float h,x1,y1,x2,y2,x3,y3,x4,y4,x,y,d1,d2,d3,d4,d5,d6,d7,h1,h2;
    h=10,x1=2,x2=2,x3=-2,x4=-2,y1=2,y2=-2,y3=2,y4=-2;
    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)
    {
        h1=0;
        printf("该塔的高度为%f",h1);
    }
    else
    {
        
        d5=min(d1,d2);
        d6=min(d3,d4);
        d7=min(d5,d6);
        h2=10;
        printf("该塔的高度为%f",h2);
    }
}

3问题分析:条理要清楚,不能急

三、实验小结(在本次实验中收获与不足)

1.在实验过程中,要结合上课平时所学知识,分析每一步的做法和每一个实验所能想到的最优解,在代码的编写方面要注意中英文的合理转换,代码有些符号不能漏打,要养成良好的编写代码的习惯。  

posted @ 2020-03-15 22:00  熊晓东  阅读(300)  评论(0)    收藏  举报