版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28837389/article/details/83031122
// 包含标准的C语言的头文件;
// 编写C语言的时候这三个,就能解决大部分C库包含的问题;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// [第一题]
// 求区间[start, end]的整数和,并返回回来
// start, end用户传进来的参数,我们根据用户的给定的参数,
// 求得对应的结果
// 循环遍历start, end的整数,求得所有的整数的和;
// 注意地方注意一下start < end
int sum_zone(int start, int end) {
// 用户传递的start > end, 交换start, end
if (start > end) { // 交换数据的时候需要第三个变量来参与
int temp = start;
start = end;
end = temp;
}
int total = 0; // 这个变量用来存放最后的结果
for (int i = start; i <= end; i++) {
// total = total + i;
total += i;
}
return total;
}
// [第二题]:
// 给一个整数,求得这个整数的绝对值
int math_abs(int value) {
/*if (value < 0) {
return -value;
}
return value;*/
// 简写的方式
// 括号里面条件为真,折去取冒号左边的表达式,否则的话就取冒号右边的表达式;
value = (value < 0) ? -value : value;
return value;
// end
}
// 第三题:
// 给定一个输入的分数,[0, 100]分,返回这个分数所对应的等级
// 1: 不及格, 2: 及格, 3: 良好, 4表示优秀, 5表示满分, -1表示输入不满足条件
int level_from_score(int score) {
if (score < 0 || score > 100) {
return -1;
}
if (score == 100) { // 满分
return 5;
}
else if (score >= 80) { // 优秀
return 4;
}
else if (score >= 70) { // 良好
return 3;
}
else if (score >= 60) { // 及格
return 2;
}
else { // 不及格
return 1;
}
}
// 第四题
// float 表示单精度小数数据;
// 常数float 0.0f,要加f, 0.0 双精度的double
float circle_perimeter(float r) {
if (r <= 0.0f) {
return 0.0f;
}
float perimeter = 3.1415926f * r * 2;
return perimeter;
}
// 第五题
// float 表示单精度小数数据;
// 常数float 0.0f,要加f, 0.0 双精度的double
double circle_area(double r) {
if (r <= 0.0) { // 不带f表示这个小数常熟是双精度的double
return 0.0;
}
double s = 3.1415926 * r * r;
return s;
}
//第六题
// r为半径, degree为度, [0, 360]
double sector_perimeter(double r, double degree) {
double perimeter = 3.1415926 * r * 2;
// degree, [0, 360]
while (degree > 360) {
degree -= 360;
}
while (degree < 0) {
degree += 360;
}
double per = degree / 360.0;
return (perimeter * per + r + r);
}
// end
int main(int argc, char** argv) {
// 定义了一个和返回值同类型的变量,保存这个函数的返回值
int value = sum_zone(1, 10);
printf("sum = %d\n", value);
value = sum_zone(10, 1);
printf("sum = %d\n", value);
value = math_abs(-7);
printf("-7 abs = %d\n", value);
value = math_abs(7);
printf("7 abs = %d\n", value);
int score = 159;
int level = level_from_score(score);
switch (level) {
case 5:
printf("满分!\n");
break;
case 4:
printf("优秀!\n");
break;
case 3:
printf("良好!\n");
break;
case 2:
printf("及格!\n");
break;
case 1:
printf("不及格!\n");
break;
case -1:
printf("参数错误!\n");
break;
}
float len = circle_perimeter(2);
printf("len = %f\n", len);
double s = circle_area(2);
printf("s = %lf\n", s); // long float
s = sector_perimeter(2, 90);
printf("s = %lf\n", s); // long float
// 当代码执行到这里的时候,他会等待我们的用户输入一个按键
// 以后才会推出
system("pause");
return 0;
}