几道c++编程题(答对加悬赏)

2024-11-23 10:00:40
推荐回答(3个)
回答(1):

1.内容: 编写两个函数分别求n!和 的程序。
2.源程序:
#include
using namespace std;
double jc(int x);
int sm(int x);

int main()
{
int m,n,s2;
double s1;
cin>>m>>n;
s1=jc(m)/(jc(n)*jc(m-n));
s2=sm(m)-sm(n);
cout< return 0;
}
double jc(int x)
{
double s=1;
for (int i=1;i<=x;i++) s*=i;
return s;
}

int sm(int x)
{
int s=0;
for (int i=1;i<=x;i++) s+=i;
return s;
}
3. 运行结果:

4.实验中遇到的主要问题及解决方法

任务二:第5题
1.内容: 编写函数,统计一字符串中数学字符占所有字符的百分比。
2.源程序:
#include
#include
using namespace std;
double any(char *s)
{
int n=0;
int count=strlen(s);
for(int i=0;i {
if(s[i]>='0'&&s[i]<='9')
n++;
}
return (n/count*100);
}

void main()
{
char str1[100];
cin>>str1;
cout<}
4. 运行结果:

5. 实验中遇到的主要问题及解决方法
任务三:第7题
1.内容: 编写函数,分别求两个整数的最大公约数和最小公倍数,并在main()函数中任意输入两个整数,调用以上定义的函数并输出结果。
2.源程序:
#include
using namespace std;
int my(int x,int y);
int mb(int x,int y);

int main()
{
int a,b,max,min;
cin>>a>>b;
max=my(a,b);
min=mb(a,b);
cout< system("pause");
return 0;
}

int my(int x,int y)
{
for (int i=(x>y?y:x);i>=1;i--)
if (x%i==0&&y%i==0) return i;
}

int mb(int x,int y)
{
for (int i=(x>y?x:y);i>=1;i++)
if (i%x==0&&i%y==0) return i;
}
3.运行结果:

4. 实验中遇到的主要问题及解决方法

自行列出其他任务
任务四:
1. 内容:定义一个求绝对值函数的模版,调用它分别求整数、单浮点数和双浮点数的绝对值。
2. 源程序:
#include
int add(int x){return x>0?x:-x;}
float add(float x){return x>0?x:-x;}
double add(double x){return x>0?x:-x;}
void main()
{int a; float b; double c;
cout<<"请输入一个整数:"<cin>>a;
cout<<"整数的绝对值:"<cout<<"请输入一个单浮点数:"<cin>>b;
cout<<"单浮点数的绝对值:"<cout<<"请输入一个双浮点数:"<cin>>c;
cout<<"双浮点数的绝对值:"<}
3. 运行结果:

回答(2):

1.
function f(){

char str[];
cin>>str;
int count=0;
for (int i=0;iif (str[i]>=0&&str[i<=9])
count++;
}
cout<<“数字比例是:"<<( float ) count/strlen(str)<}
2.

回答(3):

最大公约数最小公倍数
#include
#include
using namespace std;
int main()
{

int m,n,i,j;
cin>>m>>n;
if(m {
i=m;
j=n;
}
else
{
i=n;
j=m;
}
for(;i>=1;i--)
{
if(m%i==0&&n%i==0) break;
}
cout< for(;;j++)
{
if(j%m==0&&j%n==0)break;
}
cout<
return 0;
}