C语言设计实验报告(二)
C程序设计实验报告姓 名:赖瑾
实验地点:家
实验时间:2020年3月9日
实验项目:2.3.3 字符与ASCLL码
2.3.4 运算符与表达式的运用
2.3.5 顺序结构应用程序
3.3.1 数学函数的算法描述
3.3.2 鸡兔同笼的算法描述
3.3.3 确定坐标的算法描述
一、实验目的与要求
1、掌握自增++、自减--运算符的正确使用。
2、掌握基本的输入/输出函数的基本功能、调用方法、输入/输出格式控制规定等。
3、掌握结构化程序的算法描述方法。
4、熟练掌握C语言的运算符,即运算符的优先级和结核性、运算规则、运算对象类型等。
二、实验内容
(1)2.3.3 字符与ASCLL值
1、问题的简单描述:赋值后a的值已经变化
2、实验代码:
#include<stdio.h>
void main()
{
char a,b,c,s;
printf("请输入一个大写字母:\n");
scanf("%c",&a) ; //a为输入的大写字母/
a=a+32;
b=a-1; //b为输入字母的小写的前一个字母
c=a+1; //c为输入字母的小写的后一个字母
printf("小写字母为%c,%c,%c\n",b,a,c);
printf("ASCII值为%d,%d,%d\n",b,a,c);
s=(a+b+c)/3;//ACSII值的平均值
printf("平均值=%d",s);
}
3、问题分析:刚开始写的是b=a+31,c=a+33没有意识到a的值已经改变。
(2)2.3.4 运算符与表达式的运用
1、问题的简单描述:不清楚十位数的取值怎么算
2、实验代码:
#include<stdio.h>
void main()
{
int a,b,c,x,y;//x为输入的数
printf("请输入一个3位正整数:\n");
scanf("%d",&x);
a=x/100; //百位的数
b=x/10%10; //十位的数
c=x%10; // 个位的数
y=c*100+b*10+a;
printf("%d:%d\n",x,y);
}
3、问题分析:对十位数的取值要分别除两次十而不是除100取余。
(3)2.3.5 顺序结构应用程序
1、问题的简单描述:注意输入法
2、实验代码:
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",&x,&j,&c,&cw,&g,&hj);
hj=x+j+c+cw+g+f;
printf("应付款(元):%.2f",hj);
printf("病人付款(元):");
scanf("%f",&fk);
zh=fk-hj;
printf("计算结果:\n");
printf("病人付款(元):%.2f元\n",fk);
printf("应收款(元):%.2f元",hj);
printf(",应找回(元):%.2f元",zh);
}
3、问题分析:注意输入法
(4)3.3.1 数学函数的算法描述
1、问题的简单描述:无
2、流程图:

3、实验代码:
#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\n",y);
}
4、问题分析:无
(5)3.3.2 鸡兔同笼的算法描述
1、问题的简单描述:数字与变量的混合运算
2、流程图:

3、实验代码:
#include<stdio.h>
main()
{
int h,f,x,y;//h为总头数,f为总脚数
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");
}
4、问题分析:习惯了数学表达忘记了打*
(6)3.3.3 确定坐标的算法描述
1、问题的简单描述:以为^2可以表示平方,可以利用if函数变得更简单。
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)
h=0;
printf("该塔的高度为%d",h);
}
3、问题分析:pow(x,y)函数表示x的y次方
更简单的方法:
#include<stdio.h>
int main()
{
float x,y;
printf("请输入一个点(x,y):");
scanf("%f,%f",&x,&y);
if(x<0)
x=-x;
if(y<0)
y=-y;
if(((x-2)*(x-2)+(y-2)*(y-2))<1)
printf("10");
else
printf("0");
}
三、实验小结
巩固了流程图的画法和markdown的用法,if函数的使用更加熟练了,学习了pow(x,y)函数表示x的y次方等新的知识,还从其他同学的讲解中学习了不同的代码表示。但自己还是不够细致经常犯一些小错误比如少了*。
回到顶部
C语言设计实验报告(二)的更多相关文章
- c语言设计实验报告
试验项目:1.字符与ASCLL码 2.运算符与表达式的运用 3.顺序结构应用程序 4.数学函数的算法描述 5.鸡兔同笼的算法描述 6.确定坐标的算法描述 姓名:熊承启 实验地点:514实验室 1.字符 ...
- 20145221 《Java程序设计》实验报告二:Java面向对象程序设计
20145221 <Java程序设计>实验报告二:Java面向对象程序设计 实验要求 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- 20145203盖泽双:Java实验报告二
Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...
- 20155219实验四 Android开发基础设计实验报告
20155219实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello World!+学号的小程序 实验步 ...
- 20155227 《Java程序设计》实验四 Android开发基础设计实验报告
20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...
- Android开发设计 实验报告
20162315 Android开发设计 实验报告 实验内容 1.安装 Android Stuidio,完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学 ...
- 20145219 《Java程序设计》实验四 Android开发基础设计实验报告
20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...
- 第四周总结&实验报告二
第四周总结&实验报告二 课程总结 这周我们学习了string类,以及很多string类的很多操作方法,同时string也是一个对象,在用到它时我们首字母需要大写,这周我们还加深了对函数构造的理 ...
随机推荐
- jmeter 信息头Bearer
1.数据规则 2.登录时获取token信息 3.正则表达式获取token值 说明: (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它. (2)正则表达式: ( ...
- 【漏洞通告】Linux Kernel 信息泄漏&权限提升漏洞(CVE-2020-8835)通告
0x01漏洞简介: 3月31日, 选手Manfred Paul 在Pwn2Own比赛上用于演示Linux内核权限提升的漏洞被CVE收录,漏洞编号为CVE-2020-8835.此漏洞由于bpf验证系统在 ...
- 获取SVG中g标签的宽度高度及位置坐标
1. 问题的出现 对于普通的HTML元素,有很多获得其宽度width.高度height.距左left.距顶top等属性的方法: 类似offsetWidth,clientWidth,width之类的,通 ...
- 通过神秘代码登录自己的QQ
通过神秘代码登录自己的QQ 如图:是怎么做成的呢? 其实很明显,这个是QQ号码的16进制 所以网上搜索进制转换打开一个网页 输入自己的QQ号码,得到16进制的QQ号码 在QQ页面账号处先添加0x然后复 ...
- wechall前十题
今天开始打一打wechall 累了打wechall,不累的时候开始打buu 第一题:Get Sourced 查看源代码即可,拉到底部 第二题:Stegano 属于misc的范畴,直接下载下来,然后no ...
- [linux][nginx] 常用
原文链接http://www.cnblogs.com/codingcloud/p/5095066.html 启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root ...
- django-admin和manage.py用法
官网文档地址:django-admin和manage.py 金句: 所有的天赋,都来自于你对你喜欢的某种事物的模仿与学习,否则你就不会有这种天赋. 开篇话: 我们在Django开发过程中,命令行执行最 ...
- anaconda 使用conda命令创建虚拟环境
1.首先在所在系统中安装Anaconda.可以打开命令行输入conda -V检验是否安装以及当前conda的版本. 2.conda常用的命令. 1)conda list 查看安装了哪些包. 2)con ...
- GoJS 教程新手入门(资源整理,解决方案)
以下几个是我在百度.谷歌 上能找到的比较全的GoJs的一些东西,希望对各位有所帮助! 如有外网网站不能访问请自行FQ GoJS官网 第一个推荐的是GoJS的一个类似于社区的问题讨论区,这里面初学者的一 ...
- elementaryos5安装mysql5.7、php7.2、nginx1.14.0
一.mysql5.7 安装mysql5.7: sudo apt-get install mysql-server-5.7 查看安装的mysql版本: mysql -V 5.7版本mysql安装过程中以 ...