头歌--C++之for循环应用(I)

目录

第1关:计算舍罕王共需要多少立方的麦子赏赐他的宰相

本关必读

本关任务

测试说明

第2关:判断一个不小于2的正整数是否为质数

本关必读

本关任务

测试说明

第3关:根据输入的行数n输出由*构成的‘V’字图形

本关必读

本关任务

测试说明


第1关:计算舍罕王共需要多少立方的麦子赏赐他的宰相

本关必读

相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐,这位聪明的宰相指着8*864格的象棋说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一位,依此放完棋盘一64格,我就感激不尽了。舍罕王让人扛了一袋麦子,他要兑现他的许诺。请问舍罕王共需要多少立方的麦子赏赐他的宰相。

本关要求用for循环语句来实现。输入输出格式请见后续测试样例。

本关任务

本关的编程任务是实现step1/WheatNumberCal.cpp文件中的WheatNum函数,该文件代码如下:

 
  
  1. #include
  2. #include
  3. using namespace std;
  4. // 计算舍罕王共需要多少立方的麦子赏赐他的宰相
  5. double WheatNum ()
  6. {
  7. // 请在下面添加实现代码
  8. /******** Program ********/
  9. /********** End **********/
  10. }
  11. int main()
  12. {
  13. cout << WheatNum () << "立方米麦子。" << endl;
  14. }

测试说明

本关的测试文件仍然是step1/WheatNumberCal.cpp,负责对你写的实现代码进行测试。

以下是平台对step1.WheatNumberCal的测试样例:
测试输入:0
预期输出:*立方米麦子。 // 其中*代表计算所得的数,该数以科学计数法表示

开始你的任务吧,祝你成功!

#include 
#include 
using namespace std;
// 计算舍罕王共需要多少立方的麦子赏赐他的宰相
double WheatNum (double j)
{
    // 请在下面添加实现代码
    /******** Program ********/
    double n,Sum=0;
    for(int i=0;i

第2关:判断一个不小于2的正整数是否为质数

本关必读

质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。

100以内的质数:2357111317192329313741434753596167717379838997

本关要求用for循环语句来实现。

本关任务

本关的编程任务是实现step2/IsOfPrime.cpp文件中的IsPrime函数,代码如下:

 
  
  1. // 判断一个不小于2的正整数是否为素数
  2. int IsPrime(int n)
  3. {
  4. // 请在此填入实现代码
  5. }

测试说明

本关的测试文件是step2/IsOfPrimeTest.cpp,负责对你写的实现代码进行测试。代码说明详见注释。注意,step2/IsOfPrimeTest.cpp的代码不能被修改。

 
  
  1. #include
  2. #include "IsOfPrime.h"
  3. using namespace std;
  4. int main()
  5. {
  6. int n;
  7. // 从命令行读入一个int型数值
  8. // 这个数取自测试集的输入
  9. cin >> n;
  10. if(IsPrime(n))
  11. {
  12. cout << "Yes" << endl;
  13. }
  14. else
  15. {
  16. cout << "No" << endl;
  17. }
  18. }

其中:IsOfPrime.h文件代码如下:

 
  
  1. #ifndef _ISLEAPYEAR_H_
  2. #define _ISLEAPYEAR_H_
  3. int IsPrime (int );
  4. #endif

以下是平台对step2.IsOfPrimeTest的测试样例:
测试输入:2
预期输出:Yes

测试输入:4
预期输出:No

测试输入:3
预期输出:Yes

开始你的任务吧,祝你成功!

// 判断一个不小于2的正整数是否为素数

int IsPrime(int n)
{
    		int a=0;
    for(int i=2;i

第3关:根据输入的行数n输出由*构成的‘V’字图形

本关必读

用户输入正整数n,表示要输出的V字图形的行数。要求:每一行最左端第一组2*较上一行向右缩进1个字符位置;每行最右端第二组的2*较上一行向左缩进1个字符位置。例如,如果用户输入"5",程序输出:

上图中的第一行的最左端第1*在该行最左端字符位置,第五行的最左端第1*在距离该行最左端4个空格后,即第5个字符位置。最后一行的2*后面不输出回车换行符。

本关要求用for循环语句来实现。

本关任务

本关的编程任务是实现step3/PrintVStyle.cpp文件中的相应代码,PrintVStyle.cpp文件的代码如下:

 
  
  1. #include
  2. using namespace std;
  3. int main()
  4. {
  5. int n, bn, ln;
  6. // 从命令行读入一个int型数值
  7. // 这一个数取自测试集的输入
  8. cin >> n;
  9. // 请在下面添加实现代码
  10. /******** Program ********/
  11. /********** End **********/
  12. }

测试说明

本关的测试文件仍然是step3/PrintVStyle.cpp,负责对你写的实现代码进行测试。

以下是平台对step3. PrintVStyle的测试样例:
测试输入:3
预期输出:

测试输入:4
预期输出:

测试输入:5
预期输出:

开始你的任务吧,祝你成功!

#include
using namespace std;

int main()
{
    int n, bn, ln;

    // 从命令行读入一个int型数值
    // 这一个数取自测试集的输入
    cin >> n;

    for(ln=1;ln

你可能感兴趣的:(c++)