函数

/*1美丽数字
题目描述
Alice很喜欢6这个数字,如果一个整数能被6整除或者它的任何一位包含6就被认为是美丽数字,输入为一个整数a, 请帮Alice计算一下小于等于a的正整数有多少美丽数字,请按行依次输出,最后输出美丽数字的个数。
输入格式
输入:为一个整数a。
输出格式
输出:若干行美丽数字,最后一行为美丽数字的总数。
样例输入
20
样例输出
6
12
16
18
4

#include<iostream>
using namespace std;
int main()
{
int a, b = 0;
cin >> a;
for (int i = 6; i <= a; i++)
{
if (i % 6 == 0){ cout << i << endl; b++; }
else
for (int h = i; h; h = h / 10)
if (h % 10 == 6){ b++; cout << i << endl; break; }
}
cout << b;
}
*/

 

 

 


/*2一个整数有几个奇数字,几个偶数字
题目描述
输入格式
一个整数
输出格式
奇数字个数
偶数字个数
样例输入
12345
样例输出
3
2

#include<iostream>
#include<cmath>
using namespace std;
int work(long long x)
{
int s, t;
s = 0;
t = 0;
if (x == 0)
{
t = 0;
s = 1;
}
while (x != 0)
{
if ((x % 10) % 2 == 0)s++;
else t++;
x /= 10;
}
cout << t << endl << s;
return x;
}

int main()
{
long long n;
cin >> n;
work(abs(n));
return 0;
}
*/

 


/*数字反转
题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形
式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零

输入格式
输入共 1 行,一个整数N。
输出格式
输出共 1 行,一个整数,表示反转后的新数。
样例输入
123
样例输出
321

#include<stdio.h>
int main()
{
int n, s = 0;
cin>>n;
while (n != 0)
{
s = s * 10 + n % 10;
n=n/10;
}
cout<<s<<endl;
}
*/

 


/*因数的个数
题目描述
计算并输出1~n之间的每个数的因数个数。
输入格式
正整数n。
输出格式
n行,每行一个整数,分别表示1~n中的每一个数的因子个数。
样例输入
6
样例输出
1
2
2
3
2
4

//不会写,以下是单个数的因子个数
#include <iostream>
using namespace std;
int main()
{
int i, m, n = 0;
cin >> m;
for (i = 1; i <= m; i++)
if (m%i == 0)
{
n++;
}
cout << n << endl;
return 0;
}
*/

 


/*按要求输出$
题目描述
从键盘输入正整数n,输出n行如下图形:
$
$$
$$$
.......
.......
.......
输入格式
正整数n
输出格式
如题所述,输出图形
样例输入
3
样例输出
$
$$
$$$

瞎写的
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
if (n == 1)cout << "$" << endl;
if (n == 2)cout << "$" << endl << "$$" << endl;
if (n == 3)cout << "$" << endl << "$$" << endl << "$$$" << endl;
if (n == 4)cout << "$" << endl << "$$" << endl << "$$$" << endl << "$$$$" << endl;
return 0;
}
*/

 

 

/*求绝对值的函数
题目描述
编写函数,求实数x的绝对值。在主函数中输入实数x,调用函数求绝对值,在主函数中输出。建议函数名 myfabs
输入格式
一个实数
输出格式
绝对值

【注意】不用系统库函数,自己实现,返回绝对值,在主函数中输出!

样例输入
- 1.25
样例输出
1.25

#include <iostream>
#include <cmath>
int main()
{
float x;
cin>>x;
cout<<fabs(x);//fabs()是<math>里求绝对值函数
return 0;
}
*/


/*
第二种求绝对值的函数
#include <iostream>
int main()
{
float x;
cin>>"输入一个实数:";
cin>>x;
if (x >= 0)
cout<<x<<endl;
else
cout<<"-"<<x<<endl;
}
*/

 

 

 


/*x的k次方
题目描述
编写函数,求x的k次方,k为整数(可正、可负、可0),0的任何次方为0,任何非0数的0次方为1。编写主函数,输入x和k,调用函数计算x的k次方,在主函数中输出。结果为实数。建议函数名mypow。
输入格式
x和k,用空格隔开。x为实数,k为整数。
输出格式
实数,x的k次方。

【注意】用函数实现,使用循环连乘或连除,不使用系统的库函数pow。

样例输入
2 - 2
样例输出
0.25


#include <iostream>
using namespace std;
double pow1(double x, int k)
{
if (x == 0) return 0;
if (k == 0) return 1;
double ret = 1;
if (k > 0)
{

for (int i = 1; i <= k; i++)
ret *= x;
}
if (k < 0)
{

for (int i = 1; i <= (-k); i++)
ret *= x;
ret = 1.0 / ret;
}
return ret;
}

int main()
{
double x, k;
cin>>x>>k;
cout << pow1(x, k) << endl;
return 0;
}
*/

 


/*递归计算n!
题目描述
编写递归函数,计算n!。在主函数中输入n,调用函数计算n!,在主函数中输出n!。
输入格式
非负整数。
输出格式
整数

【注意】应用递归函数实现,否则没有意义。

样例输入
6
样例输出
720


#include<iostream>
using namespace std;
int fun(int n)
{
if (n==0||n==1)
{
n = 1;
}
else
{
n = n*fun(n - 1);
}
return n;
}

int main()
{
int i, j;
cin >> i;
j = fun(i);
cout << j << endl;
return 0;
}
*/

 

posted @ 2023-03-21 23:02  BKYNEKO  阅读(113)  评论(1)    收藏  举报