C++题目,我课也听了啊,可我就是不会…有没有大佬帮忙看一下这些题? 20

 我来答
benpaodaoren
2020-04-07 · TA获得超过657个赞
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:75.1万
展开全部

题目比较多,没有逐个加详细的注释,有不明白的直接追问或者私信吧,运行效果图:

完整代码如下:

#include <stdio.h>

//数学函数头文件,用于第三题的求平方根

#include <math.h>


//////////////////////////////////////////////////////////////////////////

//第一题

int GetQ1Value(int t)

{

if (t < 0)//n==0

{

return 0;

}

if (0 == t)//n==1

{

return 1;

}

//N>=2

int lN_2 = 0;//n-2

int lN_1 = 1;//n-1

while (lN_1 + lN_2 <= t)

{

int lN = lN_1 + lN_2;

lN_2 = lN_1;

lN_1 = lN;

}


return lN_1 + lN_2;

}

void Q1_Main()

{

int t = 1000;

int lResult = GetQ1Value(t);

printf("Q1 = %d\r\n", lResult);

}


//////////////////////////////////////////////////////////////////////////

//第二题

int Q2_GetAddEnd(int lNowValue, int n)

{

if (n == 0)

{

return lNowValue;

}


lNowValue *= 10;

lNowValue += 2;


return Q2_GetAddEnd(lNowValue, n-1);

}

void Q2_Main()

{

int n = 5;


int lResult = 0;

for (int i = 1; i <= n; i++)

{

lResult += Q2_GetAddEnd(0, i);

}

printf("Q2 = %d\r\n", lResult);

return;

}


//////////////////////////////////////////////////////////////////////////

//第三题

bool IsPrimeNumber(int lNumber)

{

//求平方根,该函数用到了头文件math.h

int lLimit = (int)sqrt((double)lNumber);

for (int i = 2; i <= lLimit; i++)

{

if (lNumber % i ==0)

{

return false;

}

}

return true;

}

void Q3_Main()

{

for (int i = 1000; i < 2000; i++)

{

if (IsPrimeNumber(i))

{

printf("Q3 min=%d, ", i);

break;

}

}


for (int i = 2000; i > 1000; i--)

{

if (IsPrimeNumber(i))

{

printf(" max=%d", i);

break;

}

}


printf("\r\n");

}


//////////////////////////////////////////////////////////////////////////

//第四题

int Q4_Fun(int n)

{

static int lResult = 0;

for (int i = 1; i <= n; i++)

{

if (n % 2 == 0)

{

lResult += i;

}

}

return lResult;

}

void Q4_Main()

{

int n = 100;

int lResult = Q4_Fun(n);

printf("Q4 = %d\r\n", lResult);

}


//////////////////////////////////////////////////////////////////////////

//第五题

bool IsPalindrome(int lNumber)

{

int lNumberR = 0;

int lNumberTemp = lNumber;

while (lNumberTemp > 0)

{

lNumberR *= 10;

lNumberR += (lNumberTemp % 10);

lNumberTemp /= 10;

}


return lNumber == lNumberR;

}

void Q5_Main()

{

printf("q5 = ");

for (int i = 1; i <= 500; i++)

{

if (IsPalindrome(i))

{

printf("%d,", i);

}

}

printf("\r\n");

}


//////////////////////////////////////////////////////////////////////////

//第六题

#define Q6_X(a,b) (((a)+(b))/2.0)

#define Q6_AREA(x,h) ((x)*(h))

void Q6_Main()

{

double a = 5, b = 10, h = 5;

double x = Q6_X(a, b);

double lArea = Q6_AREA(x, h);


printf("Q6 = %g\r\n", lArea);

}


int main()

{

Q1_Main();

Q2_Main();

Q3_Main();

Q4_Main();

Q5_Main();

Q6_Main();


printf("end\r\n");


return 0;

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式