C语言程序设计第二次实验

C程序设计实验报告

姓名:邹琼
实验地点:家
实验时间:2020年3月9日
实验项目:
  • 2.3.3字符与ASCII码
  • 2.3.4运算符与表达式的应用
  • 2.3.5顺序结构应用程序
  • 3.3.1数学函数的算法描述
  • 3.3.2鸡兔同笼的算法描述
  • 3.3.3确定坐标的算法描述

    一、实验目的与要求

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

    二、实验内容

    (1)2.3.3字符与ASCII码

    1.问题的简单描述:换行符号打错,写成了/n,导致运行结果有点乱
    2.实验代码:
#include<stdio.h> 
main()
{
    char ch=0;
    printf("请输入一个大写字母:");
    scanf("%c",&ch);
    printf("%c,%c,%c\n",ch+31,ch+32,ch+33);
    printf("%d,%d,%d\n",ch+31,ch+32,ch+33);
    printf("%d\n",(ch+31+ch+32+ch+33)/3);
}

3.问题分析:没有注意到细节问题,平时练习不够,致使换行符号打错。

(2)2.3.4运算符与表达式的应用

1.问题的简单描述:一开始不清楚如何逆输出已输入的整数
2.实验代码:

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

3.问题分析:要用到%取余,/100、/10取整,,最后得出结果。

(3)2.3.5顺序结构应用程序

1.问题的简单描述:在文字之间逗号没有切换输入法
2.实验代码:

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

3.问题分析:在文字之间的逗号也要切换为英文输入法

(4)3.3.1数学函数的算法描述

1.问题的简单描述:无
2.实验代码:

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

3.流程图

4.问题分析:无

(5)3.3.2鸡兔同笼的算法描述

1.问题的简单描述:if后面打了x、y,在运行时输入对应数字后,得到了输入错误!的结果。
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.流程图:

4.问题分析:if后面应该是h、f,通过h、f的计算再赋值给x、y,再得出相应的正确答案。

(6)3.3.3确定坐标的算法描述

1.问题的简单描述:平方的输入问题
2.实验代码:

#include<stdio.h>
#include<math.h>
main()
{
    float x,y;
    printf("请输入一点(x,y):"); 
    scanf("%f,%f",&x,&y);
    if(pow((x-2),2)+pow((y-2),2)==1||pow((x+2),2)+pow((y+2),2)==1||
    pow((x-2),2)+pow((y+2),2)==1||pow((x+2),2)+pow((y-2),2)==1)
    {
        printf("该塔的高度为10");
     } 
     else
     {
        printf("该塔的高度为0");
     }
}

3.问题分析:用到pow数学函数来表示平方,pow(a,b)表示a的b次方。

三、实验小结

在本次实验中,较充分地运用之前所学的知识,还在课外了解到了其他的知识点,有很大的收获。这次的实验告诉我练习还是要多做,这样才不会忘记一些细节的东西。

猜你喜欢

转载自www.cnblogs.com/zqpyn1003-0525/p/12464831.html