21xrx.com
2024-12-23 01:23:06 Monday
登录
文章检索 我的文章 写文章
C++程序设计教程第2版课后题答案
2023-07-01 05:02:50 深夜i     --     --
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++编程技能,成为出色的程序员。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复