姓名: 周曼洁
实验地点: 家
实验时间: 2020.03.12
一. 实验的目的与要求
1, 掌握自增 ++, 自减 -- 运算符的正确使用.
2, 掌握基本的输入 / 输出函数的基本功能, 调用方法, 输入 / 输出格式控制规定等.
3, 掌握结构化程序的算法描述方法
4, 熟练掌握 C 语言的运算符, 即运算符的优先级和结核性, 运算规则, 运算对象类型等.
二. 实验内容
1, 实验练习: 2.3.3 字符与 ASCII 码
1 问题的简单描述: 无
2 实验代码:
- #include<stdio.h>
- main()
- {
- int a,b,c,d;
- printf("请输入一个大写字母:\n");
- scanf("%c",&a);
- b=a+32;
- c=b-1;
- d=b+1;
- printf("小写字母为:%c,%C,%C\n",c,b,d);
- printf("ASCII 码的值为:%d,%d,%d",c,b,d);
- }
3 问题分析: 注 (大小写字母之间相差 32)
2, 实验练习: 2.3.4 运算符与表达式的应用
1 问题的简单描述: 取整数和取余数的使用
2 实验代码:
- #include<stdio.h>
- main()
- {
- int a,b,c,x,y;
- printf("请输入一个三位数的整数:\n");
- scanf("%d",&x);
- a=x/100;
- b=x%100/10;
- c=x%10;
- y=c*100+b*10+a;
- printf("%d:%d\n",x,y);
- return 0;
- }
3 问题分析: 注意使用 %,/.
3. 实验练习: 2.3.5 顺序结构应用程序
1 问题的简单描述: 输入法的切换
2 实验代码:
- #include<stdio.h>
- main()
- {
- float a,b,c,d,x,y,z,m,n; /*a 表示西药费, b 表示检查费, c 表示材料费, d 表示床位费, x 表示观察费, y 表示护理费, z 表示病人所付款数, m 表示应付款数, n 表示应找回金额 */
- printf("请输入西药费, 检查费, 材料费, 床位费, 观察费, 护理费:\n");
- scanf("%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&x,&y);
- m=a+b+c+d+x+y;
- printf("应付款数 (元):%.2f",m);
- printf("病人付款 (元):");
- scanf("%f",&z);
- n=z-m;
- printf("计算结果:");
- printf("病人付款 =%6.2f 元 \ n 应收款 =%6.2f 元, 应找回 =%6.2f 元 \ n",z,m,n);
- return 0;
- }
3 问题分析: 文字后输入逗号需要切换英文输入法
4. 实验练习: 3.3.1 数学函数的算法描述
1 问题的简单描述: 无
2 实验代码:
- #include<stdio.h>
- 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\n",y);
- }
3 问题分析: 无
4 流程图:
5. 实验练习: 3.3.2 鸡兔同笼的算法描述
1 问题的简单描述: 需要进行变量的整型定义
2 实验代码:
- #include<stdio.h>
- main()
- {
- int h,f,x,y;
- printf("鸡和兔的总数, 鸡和兔脚的总数:");
- scanf("%d,%d",h,f);
- if(h>0&&f>0)![](https://img2020.cnblogs.com/blog/1940803/202003/1940803-20200312113320397-189462565.png)
- {
- x=(4*h-f)/2;
- y=(f-2*h)/2;
- printf("鸡有 %d 只 兔有 %d 只 \ n",x,y);
- }
- else
- {
- printf("数值错误!\n");
- }
- return 0;
- }
3 问题分析: 数值会存在错误情况
4 流程图:
6. 实验练习: 3.3.3 确定坐标的算法描述
1 问题的简单描述: float
2 实验代码:
- #include<stdio.h>
- #include<math.h>
- main()
- {
- int h=10;
- float x1=1,y1=2,x2=-2,x3=-2,y2=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;
- else h=10;
- printf("该塔的高度为 %d",h);
- }
3 问题分析: 需要对每一个变量进行分开定义, 并且用到了函数.
实验小结
在这次实验中, 学习了 MACKDOWN 的使用, 并且在其中加入了流程图也出现了一些问题, 例如中英文的输入法切换等, 还熟悉了对函数的使用.
来源: http://www.bubuko.com/infodetail-3458111.html