用户:
ABS寄予清风NotFound查看:2 回复:5 评论:2 创建时间:2020-03-05T11:08:54
(第一次发教程贴哈!)
大家好,我是寄予清风。我今天来讲,函数。
函数有两种类型:
1.库函数:注意再使用库函数的时候需要加上相应的头文件
2.自定义函数:它需要的元素有:返回类型、函数名、函数参数
库函数一般是这样的:
这个运用了cmath库的pow(算前一个数的后一个数次方)函数哦!
自定义函数呢:
#include <iostream>
using namespace std;
int f(int x) {//定义一个名称为f,参数为x的函数
return 2 * x;//返回一个值
}
int main() {
cout << f(3);//输出6
return 0;
}
就是这样子啦!
int 是返回类型,这里返回类型是整数(还有void,没有返回值哦!);
f是函数名;
x是参数名,参数类型是整数;
return 2 * x是返回2乘x的值。
在main主函数里就可以输出啦!
输出的是6哦!
http://wikioi.cn/problem/23072
看一下这道题。
编程求2~n(n为大于2的正整数)中有多少个素数。
嗯……用函数怎么解答呢?
先得定义一个返回真假的函数:
bool prime(int a) {
}
怎么判断素数呢?得循环:2开始(定义它为i)到a,循环条件是,i*i是小于等于a的,循环内容是,判断a除以i的余数是否是0,如果是,就立刻返回false,如果不是,继续循环。到最后如果都除不断,就返回true,程序如下:
bool prime(int a) {
for (int i = 2; i * i <= a; i++)
if (a % i == 0) return false;
return true;
}
主函数呢:
int main() {
}
应该定义两个变量,一个是输入的数字(我定义为n),一个是总和(我定义为sum);
下面输入n;
下面循环:定义i为2,循环条件是i 小于等于n,让i加一即可。循环内容:如果prime(i),sum就加一。
最后输出sum即可。
代码:
#include <bits/stdc++.h>
using namespace std;
bool prime(int a) {
for (int i = 2; i * i <= a; i++)
if (a % i == 0)
return false;
return true;
}
int main() {
int n, sum = 0;
cin >> n;
for (int i = 2; i <= n; i++)
if (prime(i))
sum++;
cout << sum;
return 0;
}
(emm这个算教程贴吗?可以计入教程贴值吗?可以请加一下)