7-1 判断素数
本题的目标很简单,就是判断一个给定的正整数是否素数。
输入格式:
输入在第一行给出一个正整数N
(≤ 10),随后N
行,每行给出一个小于2^31的需要判断的正整数。
输出格式:
对每个需要判断的正整数,如果它是素数,则在一行中输出Yes
,否则输出No
。
输入样例:
2
11
111
输出样例:
Yes
No
源码:
#include<bits/stdc++.h>
using namespace std;
int fun(int n);
int main()
{
int a, i, n;
cin>>a;
for (i = 0; i < a; i++)
{
cin>>n;
if (fun(n))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}
int fun(int n)
{
int i;
if (n == 1)
{
return 0;
}
for (i = 2; i <= sqrt(n); i++)
{
if (n%i == 0)
{
return 0;
}
}
return 1;
}
7-2 计算圆柱体的体积
输入圆柱的高和半径,求圆柱体积,volume=π×r2×h 。要求定义和调用函数cylinder (r, h )计算圆柱体的体积。
输入格式:
输入在一行中给出2个实数,分别为半径r和高h。
输出格式:
在一行中以“Volume = 值”的形式输出圆柱体的体积,结果保留三位小数。
输入样例:
3.0 10
输出样例:
Volume = 282.743
源码:
#include<bits/stdc++.h>
using namespace std;
double cylinder ( double r , double h );
int main()
{
double r, h, v;
cin>>r>>h;
v = cylinder(r,h);
printf ( "Volume = %.3f" , v);
return 0;
}
double cylinder ( double R , double H )
{
double result;
result = 3.1415926 * R * R * H;
return result;
}
7-3 函数的嵌套调用
求三个数中最大数与最小数的和。要求:编写三个函数;一个函数实现求3个数中最大数;另一个函数实现求3个数中最小数;第3个函数调用前两个函数,实现求最大数与最小数的和。
输入格式:
给3个变量赋值。
输出格式:
输出最大数与最小数的和。按格式“Max+Min=”的格式输出。
输入样例:
1 -24 20
输出样例:
Max+Min=-4
源码:
#include<bits/stdc++.h>
using namespace std;
int Max(int a,int b,int c);
int Min(int a,int b,int c);
int Sum(int a,int b,int c)
{
return Max(a,b,c)+Min(a,b,c);
}
int main()
{
int a,b,c;
cin>>a>>b>>c;
cout<<"Max+Min="<<Sum(a,b,c);
return 0;
}
int Max(int a,int b,int c)
{
int maxn=a;
if(b>maxn) maxn=b;
if(c>maxn) maxn=c;
return maxn;
}
int Min(int a,int b,int c)
{
int minn=a;
if(b<minn) minn=b;
if(c<minn) minn=c;
return minn;
}
7-4 递归实现逆序输出整数
本题目要求读入1个正整数n,然后编写递归函数reverse(int n)实现将该正整数逆序输出。
输入格式:
输入在一行中给出1个正整数n。
输出格式:
对每一组输入,在一行中输出n的逆序数。
输入样例:
12345
输出样例:
54321
源码:
#include<bits/stdc++.h>
using namespace std;
void reverse(int n)
{
int m;
while(n != 0)
{
m = n % 10;
n = n / 10;
cout<<m;
}
}
int main()
{
int n;
cin>>n;
reverse(n);
return 0;
}
7-5 函数的递归调用
有n个人坐在一起,第n个人比第n-1个人大2岁,第n-1个人比第n-2个人大2岁,以此类推,……,第1个人是10岁。请问第n个人年龄多大?
输入格式:
输入一个整数表示第几个人。
输出格式:
输出第n个人是m岁。
输入样例:
5
输出样例:
Number 5 is 18 age!
源码:
#include<bits/stdc++.h>
using namespace std;
int age(int n)
{
int m = 10;
if (n == 1)
{
return m;
}
else
{
return 2 + age(n - 1);
}
}
int main()
{
int n;
cin>>n;
printf("Number %d is %d age!", n, age(n));
return 0;
}
更多推荐
程序设计基础(函数)
发布评论