zoukankan      html  css  js  c++  java
  • 第一次实验报告

    C程序设计实验报告

    实验项目:基本的程序语句以及程序的简单算法设计实验

    姓名: 赖倍仟 实验地点:514教室 实验时间:3月12日

    一、实验目的与要求

    1、(1)掌握c语言几种基本数据类型。(2)掌握c语言的运算符和表达式的正确使用。(3)掌握基本输入输出函数的基本功能、调用方法,输入输出格式控制规定等。(4)能独立编写顺序结构程序并调试通过。(5)用表达式语句,输入输出语句结局简单的应用问题并上机实现。

    2、(1)掌握结构化程序的算法描述方法。(2)了解c语言的基本语法要素,能熟悉地将算法描述转化为c语言程序。(3)熟练掌握c语言的运算符,即运算符的优先级和结核性,运算规则、运算对象类型。

    二、实验内容

    1、实验2.3.3练习.

    (1)问题描述:从键盘输一个大写字母,要求转化成小写字母输出,并输出这个小写字母相邻的两个字母,以及它们的ASCII码值。

    (2)实验代码:

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

    3问题分析:要注意定符型字符:char定义输入字母字符,然后了解了“&”符号的意义及效果是给字符添加地址。还要注意字母字符的顺序,试过a,b,c的其他顺序结果发现得不到运行结果。
    2、实验2.3.4练习.
    (1)问题描述:从键盘输入一个3位整数,将输出该整数的逆序数。
    (2)实验代码:

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

    (3)问题分析:输入三位数“x”,要求写出正确的公式分别计算出反序数的百位,十位,和各位的数值,然后再得出x的反序数y=百位乘以一百+十位*十+各位。
    3、实验2.3.5练习.
    (1)问题描述:编写一个程序,用于医院收费处出纳算账。要求输入所在医院费用(西药费、检查费、材料费、床位费、观察费和护理费),打印出应付钱数,再输入病人所付款数,打印出应找的钱数。
    (2)实验代码:

    #include<stdio.h>
    main()
    {
    	float x,j,c,hj,fk,zh,cw,g,f;
    	printf("输入西药费,检查费,材料费,床位费,观察费,护理费:
    ");
    	scanf("%f,%f,%f,%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("计算结果: 
    ");
    	printf("病人付款=%6.2f元
    应收款=%6.2f元应找回=%6.2f元
    ",fk,hj,zh);
    	 
    }
    

    (3)问题分析:因为药费一般可能会带小数,所以编写接收数据代码时要将接受的数据设置为浮点数,还要注意给输入的数据添加地址,这样才能进行后面的运算。在编写较长的代码时一定要多注意格式,注意引号的位置。
    4、实验3.3.1练习.
    (1)、问题描述:有一函数:y=x(x<1);y=2x-1(1<=x<10);y=3x-1(x>=10),请用流程图表示该算法。输出满足函数关系的y值。并用c语言编写程序进行检验。
    (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
    ",y);
    		
    }
    

    (3)问题分析:运用if分支
    5、实验3.3.2练习.
    (1)问题描述:用流程图描述鸡兔同笼问题算法:已知鸡兔总头数为h,总脚数f,求鸡兔各有多少只?
    (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
    ",x,y);
    	}
    	else
    	printf("输入错误!
    ",x,y);
    }
    

    (3)问题分析:注意鸡兔的个数,总脚数,总头数都为整数,所以都要定义为整型数。判断输入数据的正确性,数据都应大于零。
    6、实验3.3.3练习.
    (1)问题描述:有四个圆塔,塔心分别为(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)
        printf("该点的高度为:0");
        else
        printf("该点的高度为:10");
    }
    

    (3)问题分析:先求出该点到各个圆心的距离,判断是否在塔外,则需要将到圆心的距离与各半径进行比较。

    三、实验小结:

      刚做实验2.3.3的时候有点懵,不会自己设置变量,也不知道定义字符怎么用,刚开始的时候都是照着旁边的人的敲代码,然后旁边的人的代码出错了的时候,自己根本毫无想法,然后就试着把其他人的代码都删掉,自己重新理解,自己打出自己的代码,慢慢地也发现了自己可以独立地完成,出现问题时,也渐渐地可以发现问题,慢慢地解决。这次实验课更加熟悉了整型数据和浮点数的定义的灵活运用,以及学会了定义数据的形式如char字符的运用,也知道了对变量添加地址。还初次运用了if语句。通过这次实验让我知道自己对字符的不熟悉,但给我的更多的是信心,让我知道我将可以用代码解决更多的问题。
  • 相关阅读:
    开放源码的对象关系映射工具ORM.NET 插入数据 Insert/Update Data
    开放源码的对象关系映射工具ORM.NET 快档开发入门 Quick Start
    .NET 动态脚本语言Script.NET 开发指南
    开放源码的对象关系映射工具ORM.NET 删除数据 Deleting Records using ORM.NET
    .NET Remoting过时了吗?为什么公司的项目还是选择用.NET Remoting,而不是WCF?
    开放源码的对象关系映射工具ORM.NET 查看和显示数据 View and Display data using ORM.NET
    开放源码的对象关系映射工具ORM.NET 查询表 调用存储过程 增加自定义代码
    技术人生:坚持,每日一博
    CQRS:CQRS + DDD + MDP 实现快速应用程序开发
    NodeJs:Happy代码生成器,重构了代码,更新了文档,完善了示例,欢迎下载使用
  • 原文地址:https://www.cnblogs.com/lai-/p/10587984.html
Copyright © 2011-2022 走看看