21xrx.com
2025-03-27 05:45:07 Thursday
文章检索 我的文章 写文章
C++程序设计教程第2版课后题答案
2023-07-01 05:02:50 深夜i     13     0
C++程序设计教程 第2版 课后题 答案 编程练习

C++程序设计教程第2版是一本非常受欢迎的C++编程入门教材,有许多读者在学习这本教材时也面临着课后练习题的挑战。为帮助大家更好地掌握这本教材,下面是一些针对部分课后题的答案解析。

1.第7章的第3题要求我们编写一个程序,实现输入一组学生信息并输出平均成绩和最高分。具体操作是先输入学生数量n,再输入每个学生的成绩,最后将这些成绩求和并除以n,同时找出最大值。

答案:

#include<iostream>
using namespace std;
int main(){
  int n;
  cin>>n;
  int sum=0,max=0,score;
  for(int i=1;i<=n;i++){
    cin>>score;
    if(score>max)
      max=score;
    
    sum+=score;
  }
  double avg=sum/n;
  cout<<"平均分:"<<avg<<endl;
  cout<<"最高分:"<<max<<endl;
  return 0;
}

2.第8章的第5题要求我们编写一个程序,读取一个正整数N,将N转换为其二进制形式并输出。具体操作是用一个循环不断对N取余数并输出,直到N变为0。

答案:

#include<iostream>
using namespace std;
int main(){
  int num;
  cin>>num;
  int arr[32]={0};
  int i=0;
  while(num){
    arr[i++]=num%2;
    num/=2;
  }
  for(int j=i-1;j>=0;j--){
    cout<<arr[j];
  }
  return 0;
}

3.第9章的第7题要求我们编写一个程序,输入两个数x和y,输出它们的最大公约数和最小公倍数。具体操作是用辗转相除法求出最大公约数,然后再用相乘除以最大公约数求出最小公倍数。

答案:

#include<iostream>
using namespace std;
int gcd(int x,int y){
  if(y==0)
    return x;
  
  return gcd(y,x%y);
}
int main(){
  int x,y;
  cout<<"输入两个数:";
  cin>>x>>y;
  int g=gcd(x,y);
  int l=x*y/g;
  cout<<"最大公约数:"<<g<<endl;
  cout<<"最小公倍数:"<<l<<endl;
  return 0;
}

以上三个例子只是部分答案,还有很多课后题需要我们去认真思考和练习,相信只要坚持下去,大家一定能掌握C++编程技能,成为出色的程序员。

  
  

评论区