欢迎来到天天文库
浏览记录
ID:62033293
大小:25.50 KB
页数:5页
时间:2021-04-15
《C语言上机指导(第11次实验)(附答案).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、说明:本次题目前3题课堂必须完成;全部题目均在课堂完成的找老师验证,均正确有额外加分。1.写一个sort()函数完成对3个整型变量按由小到大的顺序排序,要求使用变量的引用,3个变量在主函数中输入和输出。提示:可以写一个交换两个数的函数change,函数原型为voidchange(int&x,int&y),change函数调用swap函数完成3个数的排序。注意使用引用和指针的不同.#include<iostream〉usingnamespacestd;intmain(){void sort(int&,in
2、t&,int &);int a,b,c;cout〈<"请输入3个整数:";cin>〉a>>b>>c;cout<〈”排序前的3个数为:”<<a〈〈”"〈〈b<<" "<<c〈〈endl;sort(a,b,c);//调用排序函数cout<<”排序后的3个数为:"<〈a〈〈""<〈b〈<"”<3、)change(i,k);if (j〉k) change(j,k);}voidchange(int&x,int&y)//交换2个数{inttemp; temp=x;x=y; y=temp;} 2.写一个函数move(),将一个3×3矩阵转置,要求使用指针完成,矩阵的输入输出在主函数完成。提示:矩阵转置即为行列元素的互换(a[i][j]=a[j][i]),先定义一个二维数组用双重循环给数组赋值,然后调用move函数完成转置,再输出转置后的数组.move函数的参数为一指向整型变量的指针*point,将poi4、nt指向数组首地址后(注意使用p=&a[0][0]),对第i行第j列的元素可以表示为*(pointer+3*i+j),对第j行第i列的元素可以表示为*(pointer+3*j+i).#include<iostream>usingnamespace std;intmain(){void move(int*);inta[3][3],*p,i,j;cout<<"请输入矩阵:"〈〈endl; //给矩阵赋值for(i=0;i<3;i++)ﻩfor (j=0;j〈3;j++)ﻩcin〉>a[i][j];cout<5、〈”原矩阵为:”〈<endl;//输出原矩阵for(i=0;i<3;i++){for (j=0;j<3;j++)ﻩcout<〈a[i][j]〈〈”"; cout〈<endl;ﻩ}p=&a[0][0]; //指针p指向a[0][0]的地址,此处还可以写为p=a[0];但因为是二维数组,所以不可以写为p=a;具体参看指向二维数组的指针。move(p); //调用move函数转置矩阵 cout〈〈"转置后的矩阵为:”<<endl; //输出转置后的矩阵for(i=0;i<3;i++){for(j=0;j<3;6、j++)ﻩﻩcout〈7、、name(姓名)、score[3](3门课的成绩).编写一个print( )函数,该函数用来输出所有学生的数据。学生的数据的输入由主函数从键盘输入.(调试时可以将数据初值在主函数中赋固定值)提示:先定义全局结构体类型student,其中的成员变量num可以为字符数组或整型变量,name可以为字符数组或字符串变量,score可以为整型或浮点型数组.然后用结构体类型student定义数组,并在主函数中给数组个成员赋初值,再调用print函数完成输出.#include〈iostream>#include〈i8、omanip> //包含iomanip头文件以便在输出时可以使用格式控制setw()usingnamespacestd;const intn=5;//n是常变量,存储学生人数structstudent //定义student结构体类型,定义为全局的{charnum[6]; charname[8];//name也可以定义为string类型,需要包含string头文件 intscore[3];}stu[n];//此处数组长度可以为n是因为n
3、)change(i,k);if (j〉k) change(j,k);}voidchange(int&x,int&y)//交换2个数{inttemp; temp=x;x=y; y=temp;} 2.写一个函数move(),将一个3×3矩阵转置,要求使用指针完成,矩阵的输入输出在主函数完成。提示:矩阵转置即为行列元素的互换(a[i][j]=a[j][i]),先定义一个二维数组用双重循环给数组赋值,然后调用move函数完成转置,再输出转置后的数组.move函数的参数为一指向整型变量的指针*point,将poi
4、nt指向数组首地址后(注意使用p=&a[0][0]),对第i行第j列的元素可以表示为*(pointer+3*i+j),对第j行第i列的元素可以表示为*(pointer+3*j+i).#include<iostream>usingnamespace std;intmain(){void move(int*);inta[3][3],*p,i,j;cout<<"请输入矩阵:"〈〈endl; //给矩阵赋值for(i=0;i<3;i++)ﻩfor (j=0;j〈3;j++)ﻩcin〉>a[i][j];cout<
5、〈”原矩阵为:”〈<endl;//输出原矩阵for(i=0;i<3;i++){for (j=0;j<3;j++)ﻩcout<〈a[i][j]〈〈”"; cout〈<endl;ﻩ}p=&a[0][0]; //指针p指向a[0][0]的地址,此处还可以写为p=a[0];但因为是二维数组,所以不可以写为p=a;具体参看指向二维数组的指针。move(p); //调用move函数转置矩阵 cout〈〈"转置后的矩阵为:”<<endl; //输出转置后的矩阵for(i=0;i<3;i++){for(j=0;j<3;
6、j++)ﻩﻩcout〈7、、name(姓名)、score[3](3门课的成绩).编写一个print( )函数,该函数用来输出所有学生的数据。学生的数据的输入由主函数从键盘输入.(调试时可以将数据初值在主函数中赋固定值)提示:先定义全局结构体类型student,其中的成员变量num可以为字符数组或整型变量,name可以为字符数组或字符串变量,score可以为整型或浮点型数组.然后用结构体类型student定义数组,并在主函数中给数组个成员赋初值,再调用print函数完成输出.#include〈iostream>#include〈i8、omanip> //包含iomanip头文件以便在输出时可以使用格式控制setw()usingnamespacestd;const intn=5;//n是常变量,存储学生人数structstudent //定义student结构体类型,定义为全局的{charnum[6]; charname[8];//name也可以定义为string类型,需要包含string头文件 intscore[3];}stu[n];//此处数组长度可以为n是因为n
7、、name(姓名)、score[3](3门课的成绩).编写一个print( )函数,该函数用来输出所有学生的数据。学生的数据的输入由主函数从键盘输入.(调试时可以将数据初值在主函数中赋固定值)提示:先定义全局结构体类型student,其中的成员变量num可以为字符数组或整型变量,name可以为字符数组或字符串变量,score可以为整型或浮点型数组.然后用结构体类型student定义数组,并在主函数中给数组个成员赋初值,再调用print函数完成输出.#include〈iostream>#include〈i
8、omanip> //包含iomanip头文件以便在输出时可以使用格式控制setw()usingnamespacestd;const intn=5;//n是常变量,存储学生人数structstudent //定义student结构体类型,定义为全局的{charnum[6]; charname[8];//name也可以定义为string类型,需要包含string头文件 intscore[3];}stu[n];//此处数组长度可以为n是因为n
此文档下载收益归作者所有