C++程序设计实践教程思考题答案 下载本文

内容发布更新时间 : 2024/5/2 19:19:36星期一 下面是文章的全部内容请认真阅读。

for (i=0;i

if (a[b[k]]>a[b[j]]) k=j; //若发现某个a[b[j]]小于a[b[k]],则将k修改为j if (k!=i) 20

第20/23页

{ t=b[i]; b[i]=b[k]; b[k]=t; } }

cout<<\数组各元素的值:\cout<

{ if (a[b[i]]!=a[b[i-1]]) // a[b[i]]==a[b[i-1]]时,它们的编号相同 ik++; c[b[i]]=ik; }

cout<<\数组各元素的值(a数组元素按大小编号):\i

cout<

#include #include using namespace std; void invert(int *a,int n); //函数申明 int main() { int x[]={1,2,3,4,5,6,7,8,9,10,11},i; invert(x,11); for(i=0;i<11;i++) cout<

21

第21/23页

cout<

void invert(int *a,int n) //int *a与int a[]等价 { int t,i;

for(i=0;i<=n/2;i++) { //复合语句 t=*(a+i); *(a+i)=*(a+n-i-1); *(a+n-i-1)=t; } } 第1题程序二:

#include #include using namespace std; void invert(int *a,int n); //函数申明 int main() { int x[]={1,2,3,4,5,6,7,8,9,10,11},i; invert(x,11); for(i=0;i<11;i++)

cout<

void invert(int *a,int n) //int *a与int a[]等价 { int t,i;

for(i=0;i<=n/2;i++) { //复合语句 t=a[i]; a[i]=a[n-i-1]; a[n-i-1]=t; } } 第2题程序一: #include

22

using namespace std;

void f(float x,int *m,float *y) { *m=x; *y=x-*m; } main() {

float x,y; int k; cin>>x; f(x,&k,&y);

cout<

#include using namespace std; int f(float x,float *y) {

int m; m=x; *y=x-m; return m; } main() {

float x,y; int k; cin>>x; k=f(x,&y); cout<

第22/23页

23