算法学习之C语言基础

简介:

算法学习,先熟悉一下C语言哈!!!

复制代码
#include <conio.h>
#include<stdio.h>
int main(){
    printf("%d\n",1+2);
    getch();
    return 0;
}
复制代码

计算1+2的值
结果:3



进一步计算加减乘除

复制代码
#include <conio.h>
#include<stdio.h>
int main(){
    printf("%d\n",1+2);
    printf("%d\n",3-4);
    printf("%d\n",5*6);
    printf("%d\n",8/4);
    printf("%d\n",8/5);
    getch();
    return 0;
}
复制代码

结果:
3
-1
30
2
1
tips:计算发现8除以5得到的不是1.6而是1,为什么呢?
如果才能得到1.6呢?


复制代码
#include <conio.h>
#include<stdio.h>
int main(){
    printf("%.1lf\n",8.0/5.0);//第二个是字母l
    getch();
    return 0;
}
复制代码

结果:
1.6

 


进一步实验

复制代码
#include <conio.h>
#include<stdio.h>
int main(){
    printf("%.2lf\n",8.0/5.0);//2表示小数点后的尾数保留
    printf("%.1lf\n",8.0/5.0);//1表示只保留一位
    printf("%.lf\n",8.0/5.0);//没有则表示保留0位,四舍五入
    printf("%.1lf\n",8/5);//不明
    printf("%d\n",8.0/5.0);//不明
    getch();
    return 0;
}
复制代码

结果:
1.60
1.6
2
1.6
-1717986918
tips:整数用%d输出,实数用%lf输出,整数与整数运算结果也是整数对于整数运算。
8.0和5.0称为实数,更专业一点叫“浮点数”。浮点数之间的运算也是浮点数。
额,我表示还是有点晕乎乎的!!!
再来看一看更复杂一点的算术表达式。

复制代码
#include <conio.h>
#include<stdio.h>
#include<math.h>
int main(){
    printf("%.8lf\n",1+2*sqrt(4)/(1-0.75));//sqrt必须引入math.h头文件
    getch();
    return 0;
}
复制代码

结果:17.00000000
tips:整数-浮点数=浮点数
确切的说是整数先变成浮点数,然后浮点数-浮点数=浮点数

 

变量及其输入
下面是可以处理输入两个数的代码

复制代码
#include <conio.h>
#include<stdio.h>
int main(){
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",a+b);
    getch();
    return 0;
}
复制代码

 



tips:scanf中的占位符合变量的数据类型一一对应,且每个变量前需要&符号。

计算圆柱体的表面积
要求:输入底面半径r和高h,输出圆柱体的表面积,保留3位小数。
样例输入:3.5 9
样例输出:Area = 274.889
分析:圆柱体表面积由3部分组成:上底面积、下底面积和侧面积。
完成的公式可写成:表面积=底面积*2+侧面积

复制代码
#include <conio.h>
#include<stdio.h>
#include<math.h>
int main(){
    const double pi = 4.0*atan(1.0); //pi的巧妙获取
    double r,h,s1,s2,s; //声明变量
    scanf("%lf%lf",&r,&h); //获取输入值
    s1 = pi*r*r; //计算底面积
    s2 = 2*pi*r*h; //计算侧面积
    s = s1*2.0 + s2; //得到总面积
    printf("Area = %.3lf\n",s); //输出结果
    getch();
    return 0;
}


相关文章
|
4天前
|
机器学习/深度学习 算法 C语言
【C言专栏】递归算法在 C 语言中的应用
【4月更文挑战第30天】本文介绍了递归算法在C语言中的应用,包括基本概念(通过调用自身解决子问题)、特点(调用自身、终止条件、栈空间)和实现步骤(定义递归函数、分解问题、设置终止条件、组合解)。文中通过阶乘计算和斐波那契数列两个案例展示了递归的使用,强调了递归可能导致的栈溢出问题及优化需求。学习递归有助于理解和应用“分而治之”策略。
|
4天前
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习专栏】关联规则学习:Apriori算法详解
【4月更文挑战第30天】Apriori算法是一种用于关联规则学习的经典算法,尤其适用于购物篮分析,以发现商品间的购买关联。该算法基于支持度和置信度指标,通过迭代生成频繁项集并提取满足阈值的规则。Python中可借助mlxtend库实现Apriori,例如处理购物篮数据,设置支持度和置信度阈值,找出相关规则。
|
4天前
|
机器学习/深度学习 算法 前端开发
【Python机器学习专栏】集成学习算法的原理与应用
【4月更文挑战第30天】集成学习通过组合多个基学习器提升预测准确性,广泛应用于分类、回归等问题。主要步骤包括生成基学习器、训练和结合预测结果。算法类型有Bagging(如随机森林)、Boosting(如AdaBoost)和Stacking。Python中可使用scikit-learn实现,如示例代码展示的随机森林分类。集成学习能降低模型方差,缓解过拟合,提高预测性能。
|
12天前
|
算法 搜索推荐 C语言
C语言用流程图表示算法
C语言用流程图表示算法
16 0
|
18天前
|
机器学习/深度学习 算法 前端开发
Scikit-learn进阶:探索集成学习算法
【4月更文挑战第17天】本文介绍了Scikit-learn中的集成学习算法,包括Bagging(如RandomForest)、Boosting(AdaBoost、GradientBoosting)和Stacking。通过结合多个学习器,集成学习能提高模型性能,减少偏差和方差。文中展示了如何使用Scikit-learn实现这些算法,并提供示例代码,帮助读者理解和应用集成学习提升模型预测准确性。
|
18天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
22 0
|
19天前
|
算法 安全 数据可视化
python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析
python关联规则学习:FP-Growth算法对药品进行“菜篮子”分析
16 0
|
24天前
|
搜索推荐 算法 C语言
【排序算法】C语言实现随机快排,巨详细讲解
【排序算法】C语言实现随机快排,巨详细讲解
|
24天前
|
搜索推荐 C语言 C++
【排序算法】C语言实现归并排序,包括递归和迭代两个版本
【排序算法】C语言实现归并排序,包括递归和迭代两个版本
|
24天前
|
搜索推荐 算法 C语言
【排序算法】C语言实现选择排序与冒泡排序
【排序算法】C语言实现选择排序与冒泡排序