⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 练习.txt

📁 钱能主编 C++程序设计教程(第一版) 该书习题的答案代码
💻 TXT
字号:
7.1
#include <iostream.h>

int a[10]={34,91,83,56,29,93,56,12,88,72};

void main()
{
	int min=0,j=0;
	int len=sizeof(a)/sizeof(int);

	min=a[0];
	for(int i=1;i<len;i++)
	{
		if(min>a[i])
		{
			min=a[i];
			j=i;
		}
	}

	cout<<"minimum: "<<min<<endl
		<<"index of min: "<<j<<endl;
}

7.2
#include <iostream.h>
#include <iomanip.h>

const int n=10;
int a[n]={1,3,5,7,9,11,13,15,17,19};

void main()
{
	int m;
	cout<<"input a number:"<<endl;
	cin>>m;

	if(m>=a[n-1])
	{
		cout<<"m is the greatest!"<<endl;
		return;
	}
	else if(m<a[0])
		{
			for(int k=(n-1);k>0;k--)
			{
				a[k]=a[k-1];
			}
			a[0]=m;
			for(k=0;k<n;k++)
				cout<<setw(5)<<a[k];
			cout<<endl;
			return;
		}
	else
	{
		for(int i=(n-2);i>=0;)
		{
			if(m>=a[i])
			{
				for(int j=(n-1);j>(i+1);j--)
				{
					a[j]=a[j-1];
				}
				a[i+1]=m;

				for(j=0;j<n;j++)
					cout<<setw(5)<<a[j];
				cout<<endl;
				return;
			}
			else
				--i;
		}
	}
}

7.3
#include <iostream.h>
#include <iomanip.h>

const int n=17;
int a[n];

void main()
{
	for(int i=0;i<n;i++)
		a[i]=(i+1);
	
	int j;
	for(j=0;j<n;j++)
		cout<<setw(4)<<a[j];
	cout<<endl;

	int cnt,k=1,tmp;
	for(j=0,cnt=0;j<n;j=(j+1)%n)
	{
		if(a[j]!=0)
			cnt++;

		if(k==n)
		{
			for(tmp=0;tmp<n;tmp++)
			{
				if(a[tmp]!=0)
					break;
			}
			break;
		}

		if( (cnt%3==0) && (a[j]!=0) )
		{
			cout<<a[j]<<",";
			a[j]=0;
			k++;
		}
	}
	cout<<endl<<"No."<<a[tmp]<<" boy've won!"<<endl;
}

7.4
//*************************
//**      ch7_9.cpp      ** //改进版,当没有发生元素交换时,停止排序。
//*************************

#include <iostream.h>

void bubble(int[],int);

void main()
{
	int array[]={4,5,8,9,1,98,7,3,2,6};

	int len=sizeof(array)/sizeof(int);
	for(int i=0;i<len;i++)
		cout<<array[i]<<",";

	cout<<endl<<endl;

	bubble(array,len);
}

void bubble(int a[],int size)
{
	int i,tmp,w;

	for(int pass=1;pass<size;pass++)
	{
		for(i=0,w=0;i<size-pass;i++)
		{
			if(a[i]>a[i+1])
			{
				tmp=a[i];
				a[i]=a[i+1];
				a[i+1]=tmp;
				w++; //检测是否有发生元素交换
			}
		}
		if(w==0) break;
		for(i=0;i<size;i++)
			cout<<a[i]<<",";
		cout<<endl;

	}
}

7.5
#include <iostream.h>

const int n=3;
int a[n][n];

void main()
{
	int s1=0,s2=0;
	cout<<"please input the elements of matrix:"<<endl;

	for(int i=0;i<n;i++)
	{
		cout<<endl<<"the "<<i<<"th row:"<<endl;
		for(int j=0;j<n;j++)
			cin>>a[i][j];
	}
	
	for(i=0;i<n;i++)
		s1+=a[i][i];
	cout<<"the sum of \\ elements is:"<<s1<<endl;

	for(i=0;i<n;i++)
		s2+=a[n-i-1][i];
	cout<<"the sum of / elements is:"<<s2<<endl;

	cout<<"bye!"<<endl;
}

7.6
#include <iostream.h>

const int m=5,n=4;

void max_score(int stu[m][n],int row,int col);
void fail_pass(int stu[m][n],int row,int col);
void ave_score(int stu[m][n],int row,int col);

void main()
{
int s[m][n]={{77,69,81,80},
		{84,86,79,91},
		{70,72,83,88},
		{79,80,83,90},
		{85,80,86,92}};
	
	int max_s=0,s_num=0;

	max_score(s,m,n); cout<<endl;
	fail_pass(s,m,n); cout<<endl;
	ave_score(s,m,n); cout<<endl;
}

void max_score(int stu[m][n],int row,int col)
{
	int max=0,num=0;
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
		{
			if(max<stu[i][j])
			{
				max=stu[i][j];
				num=i+1;
			}
		}
	}
	cout<<"the highest score is:"<<max<<endl
		<<"and is achieved by the "<<num<<"th student."<<endl;
}

void fail_pass(int stu[m][n],int row,int col)
{
	for(int i=0;i<row;i++)
	{
		for(int j=0;j<col;j++)
		{
			if(stu[i][j]<70)
			{
				cout<<"the "<<(i+1)<<"th student didn't pass. "<<endl
					<<"And his/her scores are:"<<endl;
				for(int t=0;t<col;t++)
					cout<<stu[i][t]<<",";
				cout<<endl;
				break;
			}
		}
	}
}

void ave_score(int stu[m][n],int row,int col)
{
	int j;
	float ave=0;
	for(j=0;j<col;j++)
	{
		for(int i=0;i<row;i++)
			ave+=stu[i][j];
		cout<<ave<<endl;
		ave/=row;
		cout<<"the average score of the "<<(j+1)<<"th course is :"<<ave<<endl;
		ave=0;
	}
}

7.7
#include <iostream.h>
#include <iomanip.h>

void main()
{
	int c[3][3];
	int a[3][3]={{5,7,8},{2,-2,4},{1,1,1}};
	int b[3][3]={{4,-2,3},{3,9,4},{8,-1,2}};

	for(int i=0;i<3;i++)
	{
		for(int j=0;j<3;j++)
		{
			c[i][j]=a[i][j]+b[i][j];
			cout<<setw(4)<<c[i][j];
		}
		cout<<endl;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -