return0;
}
①j++或++j或j=j+1②0或'\0'(串结尾符)
P106例4.2
完整排序程序:
将n个数按从小到大顺序排列后输出。
采用选择排序法。
#defineN10
#include
#include
usingnamespacestd;
intmain()
{inti,j,t,k,x[N];
cout<<"Pleaseinput10numbers:
\n";
for(i=0;icin>>x[i];
for(i=0;i{k=i;
for(j=i+1;jif(x[k]>x[j])k=j;
if(k!
=i)//若k已不等于其初值,
{t=x[i];x[i]=x[k];x[k]=t;}//交换x[i]、x[k]
}
cout<<"Thesortednumbers:
\n";
for(i=0;icout<cout<return0;
}
9.下面程序输入N(10)个数,然后采用选择排序法将它们按从大到小顺序排列后再输出。
#defineN10
#include
#include
usingnamespacestd;
intmain()
{inti,j,t,k,x[N];
cout<<"请输入10个数:
\n";
for(i=0;i>x[i];
for(i=0;i{k=i;
for(j=i+1;jif(x[k]①x[j])k=j;
if(②)
{t=x[i];x[i]=x[k];x[k]=t;}
}
cout<<"从大到小依次为:
\n";
for(i=0;icout<cout<return0;
}
①<或<=②k!
=i
10.下面程序输入N(10)个数,然后采用选择排序法将它们按从大到小顺序排列后再输出。
#defineN10
#include
#include
usingnamespacestd;
intmain()
{inti,j,t,k,x[N];
cout<<"请输入10个数:
\n";
for(i=0;i>x[i];
for(i=0;i{①;
for(j=i+1;jif(x[k]if(k!
=i)
{t=x[i];x[i]=x[k];②;}
}
cout<<"从大到小依次为:
\n";
for(i=0;icout<cout<return0;
}
①k=i②x[k]=t
11.下面程序输入N(10)个数,然后将它们按从大到小顺序排列后再输出。
程序中的函数sort采用选择排序法对数组x中的n个元素值进行排序。
#defineN10
#include
#include
usingnamespacestd;
voidsort(intx[],intn)
{inti,j,t,k;
for(i=0;i{k=i;
for(j=i+1;jif(x[k]if(k!
=i)
{①;x[i]=x[k];x[k]=t;}
}
}
intmain()
{inti,x[N];
cout<<"请输入10个数:
\n";
for(i=0;icin>>x[i];
sort(②,N);
cout<<"从大到小依次为:
\n";
for(i=0;icout<cout<return0;
}
①t=x[i]②x或&x[0]
12.函数transpose求存于形参二维数组a[N][N]中的方阵AN×N的转置矩阵A’,且将结果仍然存于a中(即将a[i][j]与a[j][i]的值互换)。
voidtranspose(inta[][N])
{inti,j,t;
for(i=0;ifor(j=0;j<①;j++)
{t=a[j][i];②;a[i][j]=t;}
}
①i或i+1②a[j][i]=a[i][j]
13.函数transpose求存于形参二维数组a[N][N]中的方阵AN×N的转置矩阵A’,且将结果仍然存于a中(即将a[i][j]与a[j][i]的值互换)。
voidtranspose(inta[][N])
{inti,j,t;
for(i=0;ifor(j=i+1;j<①;j++)
{t=a[j][i];a[j][i]=a[i][j];a[i][j]=②;}
}
①N②t
14.《实验教材P21》
已知下面程序输出如下二维数表:
123456
112345
121234
233123
246412
25101051
请完善其空缺部分。
#include
#include
usingnamespacestd;
voidmain()
{inta[6][6],i,j;
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(j==0||i==j)①;
elseif(②)a[i][j]=a[i][j-1]+1;
elsea[i][j]=a[i-1][j-1]+a[i-1][j];
cout<}
cout<}
}
①a[i][j]=1②i15.《实验教材P21》
已知下面程序输出如下二维数表:
123456
112345
121234
233123
246412
25101051
请完善其空缺部分。
#include
#include
usingnamespacestd;
voidmain()
{inta[6][6],i,j;
for(i=0;i<6;i++)
{for(j=0;j<6;j++)
{if(j==0||i==j)a[i][j]=1;
elseif(①)a[i][j]=a[i-1][j-1]+a[i-1][j];
elsea[i][j]=②;
cout<}
cout<}
}
①j
16.下面的程序求用户输入数据的整数部分和小数部分,如输入9.45,则输出:
整数部分:
9,小数部分:
0.45。
voidf(floaty,int*a,float*z)
{*a=(int)y;*z=①-*a;}
voidmain()
{intb;
floatx,w;
cin>>x;
f(x,&b,②);
cout<<"整数部分:
"<
"<}
①y②&w
17.下面的程序求用户输入数据的整数部分和小数部分,如输入2.35,则输出:
整数部分:
2,小数部分:
0.35。
voidf(floaty,int*a,float*z)
{*a=(int)y;*z=y-①;}
voidmain()
{intb;
floatx,w;
cin>>x;
f(x,②,&w);
cout<<"整数部分:
"<
"<}
①*a②&b
18.《实验教材P21》
已知下面程序先计算出杨辉三角数表存于二维数组a的对应位置各元素中,然后输出数组a主对角元素及以下的元素便得到如下杨辉三角数表的前5行,
1
11
121
1331
14641
请完善其空缺部分。
#include
usingnamespacestd;
#include
intmain()
{inti,j,a[5][5];
for(i=0;i<5;i++)
{①;a[i][i]=1;
for(j=1;j
for(i=0;i<5;i++)
{cout<for(j=0;②;j++)cout<cout<return0;
}
①a[i][0]=1②j<=i
19.《实验教材P21》
已知下面程序先计算出杨辉三角数表存于二维数组a的对应位置各元素中,然后输出数组a主对角元素及以下的元素便得到如下杨辉三角数表的前5行,
1
11
121
1331
14641
请完善其空缺部分。
#include
usingnamespacestd;
#include
intmain()
{inti,j,a[5][5];
for(i=0;i<5;i++)
{a[i][0]=1;a[i][i]=1;
for(j=①;j
for(i=0;i<5;i++)
{cout<for(j=0;j<=i;j++)cout<}
cout<return0;
}
①1②a[i][j]
20.下面函数的功能是从数组x(有n>0个元素)中找出最大元素,请将函数补充完整。
intfindmax(intx[],intn)
{intmax=①;
for(inti=1;iif(x[i]>max)
②;
returnmax;
}
①x[0]②max=x[i]