中国计量大学《C语言程序设计》
课程实验报告
实验课程: C语言程序设计 实验名称:实验一 熟悉上机环境、程序设计-顺序结构
实验二 程序设计-分支结构(一)
班 级: 24通信1班 学 号:
一、实验目的
1.了解不同的C语言程序的开发环境,并在Visual studio 2022的环境下编辑、编译、连接和运行C语言程序。
2.通过运行简单的C语言程序,初步了解C语言程序的特点。
3.掌握C语言的基本数据类型以及由这些基本类型构成的常变量的使用方法。
4.掌握C语言的运算符和表达式的正确使用。
5. 掌握数据的输入输出方法,熟悉顺序结构程序中语句的执行过程,以及掌握顺序结构程序的设计方法
6.通过分支程序设计的实验,深入理解程序运行的基本原理,掌握分支语句的应用方法,提高编写程序的能力和水平。
7.学会在编译器中进行调试并掌握一些调试方法
二、实验内容
1. 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
2. 输入两点坐标(x1, y1)、(x2, y2),计算并输出两点间的距离。
3. 编写程序,求出给定半径r的圆以及内接正n边形的面积,输出计算结果。r和n的值由键盘输入。正n边形面积的计算公式为1/2*n*r*r*sin(2π/n)。
三、实验环境
Visual studio 2022
实验成绩: 主管教师签名:
四、实验数据记录(源程序或算法设计思想)
//The first question
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char a, b, c, t;
printf("Please enter three letters:\n");
scanf("%c %c %c", &a, &b, &c);
if (a > b) t = a, a = b, b = t;
if (a > c) t = a, a = c, c = t;
if (b > c) t = b, b = c, c = t;
printf("The correct order is:%c %c %c\n", a, b, c);
return 0;
}
//The second question
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int x1, y1, x2, y2;
float l;
printf("Please enter the coordinates of the two points:\n");
scanf("(%d,%d)(%d,%d)", &x1, &y1, &x2, &y2);
l = sqrt(pow((x1 - x2), 2) + pow((y1 - y2), 2));
printf("The distance between two points is:%f\n", l);
return 0;
}
//The third question
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <math.h>
#define PI 3.1415926
int main()
{
int r, b, n, x;
float area1, area2;
printf("Please enter the radius of the circle and the number of sides within the regular polygon:\n");
scanf("%d %d", &r, &n);
b = pow(r, 2);
x = 2 *(PI)/n;
area1 = PI * b;
area2 = 1.0 / 2 * n * b * sin(x);
printf("The area of the circle is:%f\n", area1);
printf("The area of this polygon is:%f\n", area2);
return 0;
}
五、实验数据分析及结论(程序运行结果及分析)
The first question
Consequence
The first case | |
The second case | |
The third case | |
The fourth case | |
The fifth case | |
The sixth case |
Analysis
处理的数据 | a,b,c,t | |
存储数据的变量及类型(含中间变量) | int a,b,c,t | |
输入 | a,b,c | |
输出 | a,b,c(正确的顺序) | |
关键算法/关键点 | If结构,运用中间t | |
程序结构—选择 | 判断条件1 | a>b |
分支1 | t=a, a=b, b=t | |
判断条件2 | a>c | |
分支2 | t=a, a=c, c=t | |
判断条件3 | b>c | |
分支3 | t=b, b=c, c=t |
The second question
Consequence
以(3,4),(5,6)两点进行测试(理论输出结果为 2根号2)
Analysis
输入两个点坐标(x1,y1)(x2,y2)利用两点之间距离公式 进行求解,最后输出距离l
The third question
Consequence
以r=2,n=4进行验证(理论输出结果为 4PI,8)
Analysis
处理的数据 | r,n | |
存储数据的变量及类型(含中间变量) | ||
输入 | r,n | |
输出 |
| |
关键算法/关键点 | 顺序结构,C语言表达式的写法,定义符号常量PI代替派值3.1415926 | |
程序结构—顺序 | 步骤1 | 输入r,n |
步骤2 | b=r^2 | |
步骤3 | x=2PI/n | |
步骤4 | area1=bPI | |
步骤5 | ||
步骤6 |
六、思考题
1.在The first question中运用switch结构或者其他方式怎么写?
2.在The second question中l从float类型变为int类型会发生什么
3.在The third question中x从float类型变为int类型会发生什么
4.在The third question中14行PI不加括号会发生什么
5.在The third question中16行1.0/2变为1/2会发生什么
6在The third question中17、18行%f变为%d或其他会发生什么
标签:case,third,int,question,C语言,printf,程序设计,实验报告 From: https://blog.csdn.net/Andre2022/article/details/143258769