第十一次c语言答案,C语言上机指导(第十一次实验)(附答案).doc

C语言上机指导(第十一次实验)(附答案)

说明:本次题目前3题课堂必须完成;

全部题目均在课堂完成的找老师验证,均正确有额外加分。

写一个sort( )函数完成对3个整型变量按由小到大的顺序排序,要求使用变量的引用,3个变量在主函数中输入和输出。

提示:可以写一个交换两个数的函数change,函数原型为void change(int &x,int &y),change函数调用swap函数完成3个数的排序。注意使用引用和指针的不同。

#include

using namespace std;

int main()

{void sort(int &,int &,int &);

int a,b,c;

cout<

cin>>a>>b>>c;

cout<

sort(a,b,c); //调用排序函数

cout<

return 0;

}

void sort(int &i,int &j,int &k) //对3个数进行排序

{ void change(int &,int &);

if (i>j) change(i,j);

if (i>k) change(i,k);

if (j>k) change(j,k);

}

void change(int &x,int &y) //交换2个数

{ int temp;

temp=x;

x=y;

y=temp;

}

写一个函数move( ),将一个3×3矩阵转置,要求使用指针完成,矩阵的输入输出在主函数完成。

提示:矩阵转置即为行列元素的互换(a[i][j]=a[j][i]),先定义一个二维数组用双重循环给数组赋值,然后调用move函数完成转置,再输出转置后的数组。move函数的参数为一指向整型变量的指针*point,将point指向数组首地址后(注意使用p=&a[0][0]),对第i行第j列的元素可以表示为*(pointer+3*i+j),对第j行第i列的元素可以表示为*(pointer+3*j+i)。

#include

using namespace std;

int main()

{void move(int *);

int a[3][3],*p,i,j;

cout<

for (i=0;i<3;i++)

for (j=0;j<3;j++)

cin>>a[i][j];

cout<

for (i=0;i<3;i++)

{for (j=0;j<3;j++)

cout<

cout<

}

p= &a[0][0]; //指针p指向a[0][0]的地址,此处还可以写为p=a[0];但因为是二维数组,所以不可以写为p=a;具体参看指向二维数组的指针。

move(p); //调用move函数转置矩阵

cout<

for (i=0;i<3;i++)

{for (j=0;j<3;j++)

cout<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值