c语言 将点同时保证x坐标从小到大,y坐标从小到大地排序,C语言程序设计实验报告(二)...

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

♦实验项目:2.3.3字符与ASCII码;2.3.4运输符与表达式的应用;2.3.5顺序结构应用程序;3.3.1数学函数的算法;3.3.2鸡兔同笼的算法;3.3.3坐标的算法

♦ 姓名:聂石燕

♦实验地点:家中

♦实验时间:2020.03.10

一、实验目的与要求

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

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

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

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

二、实验内容

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

1问题的简单描述:输出错误

2实验代码:

#include

main()

{

char c,d,e,f;

printf("请输入一个大写字母:\n");

scanf("%c",&c);

d=c+31;

e=c+32;

f=c+33;

printf("小写字母为%c,%c,%c\n",d,e,f);

printf("ASCII值为%d,%d,%d\n",d,e,f);

}

3问题分析:字符型变量用char,格式符用%c; ASCII值为整型;大小写字母的ASCII码值相差32 。

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

1问题的简单描述:一个3 位的正整数,不知道怎样去表达其十位数数字。

2实验代码:

1 #include

2 main()3 {4 int a,b,c,x,y;5 printf("请输入一个3位的正整数:\n",x);6 scanf("%d",&x);7 a=x/100;8 b=(x/10)%10;9 c=x%10;10 y=c*100+b*10+a;11 printf("%d: %d\n",x,y);12

13 }

3问题分析:% 代表取余数,/ 表示取整。

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

1问题的简单描述:无

2实验代码:

#include

main()

{

float x,j,c1,c2,g,h,yf,sf,zh;/*x代表西药费,j代表检查费,c1材料费,c2代表床位费,g代表观察费,h代表护理费,yf代表应付款,sf代表病人付款,zh代表找回的金额;*/printf("请输入西药费,检查费,材料费,床位费,观察费,护理费:\n");

scanf("%f,%f,%f,%f,%f,%f",&x,&j,&c1,&c2,&g,&h);

yf=x+j+c1+c2+g+h;

printf("应付款(元):%.2f\n”,yf);

printf("病人付款(元):\n");

scanf("%f",&sf);

zh=sf-yf;

printf("计算结果:\n");

printf("病人付款=%6.2f元\n 应付款=%6.2f元,应找回=%6.2f元\n",sf,yf,zh);

}

3问题分析:变量比较多,注意中英文的切换,每个语句结束后不要漏掉;

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

1问题的简单描述:if  else语句不太会用。输入-1,得到的是0。

2实验代码:

#include

main()

{

fioat x,y;

printf("请输入x的值:");

scanf("%f",&x);if(x<1)

y=x;else

if(x>=1&&x<10)

y=2*x-1;elsey=3*x-1;

printf("y的值为%.2f\n",y);

}

流程图:

81210c91be72c6bb48a593b8ba90a354.png

3问题分析:刚开始条件语句表达错误;当if体的语句为一条简单的语句时,可以省略{ },多于一条时,要用{ }把这些语句括起来。

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

1问题的简单描述:没有得到x,y ;输出提示输入有误。

2实验代码:

#include

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);

}elseprintf("输入有错误!\n");

}

流程图:

11e7181d39a89fba4cb29485fc11524b.png

3问题分析:h 和f都要大于0 ;4*h 写成了4h ,漏掉了*

6、实验练习:3.3.3坐标的算法

1问题的简单描述:根号和平方怎么表示。

2实验代码:

#include#include

main()

{

int h;

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):\n");

scanf("%f,%f",&x,&y);

d1=sqrt(pow(x-x1,2)+pow(y-y1,2));

d2=sqrt(pow(x-x2,2)+pow(y-y2,2));

d3=sqrt(pow(x-x3,2)+pow(y-y3,2));

d4=sqrt(pow(x-x4,2)+pow(y-y4,2));if(d1>1&&d2>1&&d3>1&&d4>1)

h=0;elseh=10;

printf("该塔的高度为%d",h)

}

3问题分析:开方用sqrt( )函数,x的y次方用pow(x,y)表示。

三、实验小结

这是本学期的的第四周,也是第二次实验课,学习C语言已经有四个周了,我对C语言的学习也越来越有感觉了。 通过本次实验基本掌握了简单的算法描述;用流程图的表达算法思想;运算符的优先级、运算规则、运算对象;算法的结构等。同时,在实验的过程中也暴露出很多的问题,如漏掉乘号* 、if 语句不熟悉、课后缺少练习等,查漏补缺、循序渐进。

原文:https://www.cnblogs.com/nsy-2019/p/12466266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值