在进行一个庞大的程序时,如果将所有的代码程序写入一个主函数,就会显得主函数很复杂。而函数通过采用模块化的思想,往往可以将复杂的问题简单化。
1.如下,定义一个函数来计算1+2+...+100的值
#include <stdio.h>
int sum(int n) //定义一个求和函数sum,并对其声明
{
int i,s;
for(i = 1, s = 0; i <= n ; i++); //使用for语句循环来进行求和,只需定义出n的初始值即可
{
s += i ;
}
return s; //此处表示将s的值返还给主函数
}
int main()
{
int k;
int n;
n = 100 ;
k = sum(n); //代表使用sum函数来进行n=100的循环求和
printf("1+2+...+100=%d\n",k);
return 0;
}
2.以上我们已经初步了解了如何定义一个函数,接下来介绍两个“math.h”中的常用函数
(1).pow函数,此函数可以进行幂运算。如下:求球的面积和体积
如上代码,在使用pow函数时注意要引用头文件 #include <math.h>,
而且pow(2,3)代表的是2的三次方。
(2).sqrt函数,此函数是根号下的运算
如下:计算一元二次方程的解
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, x, x1, x2, delta;
printf("分别输入方程的三个系数:");
scanf_s("%lf %lf %lf", &a, &b, &c);
if (a) //a可以写成a==0
{
delta = sqrt(b * b - 4 * a * c); //sqrt为数学函数,表示根号
if (delta==0) //delta==0可以写成!delta
{
x1 = x2 = (-b) / (2 * a);
printf("该方程有唯一解:x1=x2=%lf\n", x1, x2);//保留了两位小数,精确度可调
}
else if (delta > 0)
{
x1 = (-b + delta) / (2 * a);
x2 = (-b - delta) / (2 * a);
printf("x1=%lf x2=%lf\n", x1, x2);
}
else
printf("该方程无解");
}
else
{
x = -c / b;
printf("该方程的解为:x=%lf\n", x);
return 0;
}
以上便是我今天自己学习并分享的内容,希望对你有帮助!