21xrx.com
2025-04-11 17:17:12 Friday
文章检索 我的文章 写文章
中南大学 C++ 实验答案汇总
2023-07-06 19:04:13 深夜i     15     0
中南大学 C++ 实验 答案 汇总

中南大学计算机科学与技术专业的学生们在学习 C++ 编程语言时,通常需要完成一定的实验项目,这些实验项目需要细心、耐心地代码编写和调试。面对一个实验,如果遇到了问题,不妨看看其他完成了该实验的同学的答案,或许可以从中得到启发。

下面是中南大学 C++ 实验答案的汇总:

一、C++ 第一章实验答案:

1. 实现 C++ 程序的编写及运行,输出一个 Hello World!信息。

#include <iostream>
using namespace std;
int main()
  cout<<"Hello World!"<<endl;
  return 0;

二、C++ 第二章实验答案:

1. 实现用户输入一个数字,计算出该数字的平方。

#include <iostream>
using namespace std;
int main()
{
  int num,square;
  cout<<"请输入一个数字:"<<endl;
  cin>>num;
  square = num*num;
  cout<<num<<"的平方是:"<<square<<endl;
  return 0;
}

2. 实现用户输入两个数字,计算出它们的和、差、积、商、模。

#include <iostream>
using namespace std;
int main()
{
  int num1,num2,sum,difference,product,quotient,mod;
  cout<<"请输入第一个数字:"<<endl;
  cin>>num1;
  cout<<"请输入第二个数字:"<<endl;
  cin>>num2;
  sum = num1 + num2;
  difference = num1 - num2;
  product = num1 * num2;
  quotient = num1 / num2;
  mod = num1 % num2;
  cout<<num1<<"加"<<num2<<"等于"<<sum<<endl;
  cout<<num1<<"减"<<num2<<"等于"<<difference<<endl;
  cout<<num1<<"乘"<<num2<<"等于"<<product<<endl;
  cout<<num1<<"除以"<<num2<<"等于"<<quotient<<",余数是"<<mod<<endl;
  return 0;
}

三、C++ 第三章实验答案:

1. 实现用户输入一个三位数,判断该数是否是水仙花数。

#include <iostream>
using namespace std;
int main()
{
  int num,a,b,c;
  cout<<"请输入一个三位数:"<<endl;
  cin>>num;
  a = num / 100;
  b = (num % 100) / 10;
  c = num % 10;
  if(a*a*a+b*b*b+c*c*c == num)
  
    cout<<num<<"是水仙花数"<<endl;
  
  else
  
    cout<<num<<"不是水仙花数"<<endl;
  
  return 0;
}

2. 实现用户输入一个五位数,判断该数是否是回文数。

#include <iostream>
using namespace std;
int main()
{
  int num,a,b,c,d,e;
  cout<<"请输入一个五位数:"<<endl;
  cin>>num;
  a = num / 10000;
  b = (num % 10000) / 1000;
  c = (num % 1000) / 100;
  d = (num % 100) / 10;
  e = num % 10;
  if(a == e && b == d)
  
    cout<<num<<"是回文数"<<endl;
  
  else
  
    cout<<num<<"不是回文数"<<endl;
  
  return 0;
}

四、C++ 第四章实验答案:

1. 实现用户输入两个数字,求它们的最大公约数和最小公倍数。

#include <iostream>
using namespace std;
int gcd(int a,int b)
{
  if(b == 0)
    return a;
  else
    return gcd(b,a%b);
}
int main()
{
  int num1,num2,g,l;
  cout<<"请输入第一个数字:"<<endl;
  cin>>num1;
  cout<<"请输入第二个数字:"<<endl;
  cin>>num2;
  g = gcd(num1,num2);
  l = (num1*num2)/g;
  cout<<num1<<"和"<<num2<<"的最大公约数是:"<<g<<endl;
  cout<<num1<<"和"<<num2<<"的最小公倍数是:"<<l<<endl;
  return 0;
}

2. 实现打印杨辉三角。

#include <iostream>
using namespace std;
int main()
{
  int n,i,j;
  int a[100][100];
  cout<<"请输入要打印的行数:"<<endl;
  cin>>n;
  for(i = 0;i < n;i++)
  {
    a[i][i] = 1;
    a[i][0] = 1;
  }
  for(i = 2;i < n;i++)
  {
    for(j = 1;j <= i - 1;j++)
    {
      a[i][j] = a[i-1][j-1] + a[i-1][j];
    }
  }
  for(i = 0;i < n;i++)
  {
    for(j = 0;j <= i;j++)
    {
      cout<<a[i][j]<<" ";
    }
    cout<<endl;
  }
  return 0;
}

五、C++ 第五章实验答案:

1. 实现从命令行参数读取一个字符串,将该字符串反转后输出。

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
  char c;
  int len = strlen(argv[1]);
  for(int i = 0;i < len / 2;i++)
  {
    c = argv[1][i];
    argv[1][i] = argv[1][len - 1 - i];
    argv[1][len - 1 - i] = c;
  }
  cout<<argv[1]<<endl;
  return 0;
}

2. 实现猜数字游戏。

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
  int num,guess,times = 0;
  srand(time(NULL));
  num = rand() % 100 + 1;
  cout<<"我已经想好了一个 1 到 100 之间的数字,你来猜吧!"<<endl;
  while(1)
  {
    cin>>guess;
    times++;
    if(guess > num)
    {
      cout<<"你猜的数字太大了,再试一次吧:"<<endl;
    }
    else if(guess < num)
    {
      cout<<"你猜的数字太小了,再试一次吧:"<<endl;
    }
    else
    {
      cout<<"恭喜你,猜对了!你一共猜了"<<times<<"次!"<<endl;
      break;
    }
  }
  return 0;
}

以上就是中南大学 C++ 实验答案的汇总,希望对你有所帮助。当然,实验答案仅供参考,希望大家在完成实验时能够尽可能地自己思考和编写代码,提高自己的 C++ 编程能力。

  
  

评论区