二级指针
利用数组指针p将main函数中输入的二维数组a的所有元素输出, 要求先按行的顺序输出,然后再以列的顺序输出, 其中输出整型格式用 "%3d", (测试用数据大小不要超过2位数)。
函数接口定义:
void reOut(int (*p)[3]);
裁判测试程序样例:
#include <stdio.h>
int main()
{
void reOut(int (*p)[3]);
int i, j, a[2][3], (*p)[3];
for (i = 0; i < 2; i++)
for (j = 0; j < 3; j++)
scanf("%d", &a[i][j]);
p= a;
reOut(p);
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
1 2 3
4 5 6
输出样例:
1 2 3
4 5 6
1 4
2 5
3 6
void reOut(int (*p)[3]){
for(int i = 0; i < 2; i++){
for(int j = 0; j < 3; j++){
printf("%3d",p[i][j]);
}
printf("\n");
}
for(int i = 0; i < 3; i++){
for(int j = 0; j < 2; j++)
printf("%3d",p[j][i]);
printf("\n");
}
}
给你三个整数,请你从小到大输出。
输入描述:
若干组数据,每组数据占一行,每组数据为三个整数用空格分隔。
输出描述:
对每组数据按要求从小到大重新输出,输出的三个整数之间隔一个空格,每组数据单独占一行。
要求
请发挥你的所学,使用指针编程。
输入样例
6 1 5
8 5 2
输出样例
#include <iostream>
using namespace std;
int a,b,c,*p1=&a,*p2=&b,*p3=&c;
void sort(int *p1,int *p2){
if(*p1 > *p2){
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
}
int main(){
while(cin >>a>>b>>c){
sort(p1, p2);
sort(p1, p3);
sort(p2, p3);
cout <<a <<" "<<b<<" "<<c<<endl;
}
return 0;
}
1 5 6
2 5 8