鍵盤輸入6個整數存到二維數組a[2][3]中,要輸出它們,請填空:數組
int main()函數
{spa
int a[2][3], i, j;3d
_____________; //定義一個指向變量的指針變量p1並賦初值指針
_____________; //定義一個指向一維數組的指針變量p2並賦初值ip
for(i=0;i<=1;i++)io
for(j=0;j<=2;j++)class
scanf("%d", &a[i][j]);後臺
for(i=0;i<=1;i++)變量
for(j=0;j<=2;j++)
_____________________; //利用p1輸出每一個整數
printf("\n");
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
_____________________; //利用p2輸出每一個整數
printf("\n");
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
_____________________; //利用數組名a輸出每一個整數,用指針法,不要用下標法
printf("\n");
return 0;
}
輸入6個整數
按要求輸出數據,每一個數據佔3位
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[2][3], i, j;
int *p1=a[0]; //定義一個指向變量的指針變量p1並賦初值
int (*p2)[3]=a; //定義一個指向一維數組的指針變量p2並賦初值
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
scanf("%d", &a[i][j]);
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
printf("%3d",*(p1+3*i+j)); //利用p1輸出每一個整數
printf("\n");
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
printf("%3d",*(*p2+3*i+j)); //利用p2輸出每一個整數
printf("\n");
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
printf("%3d",a[i][j]); //利用數組名a輸出每一個整數,用指針法,不要用下標法
printf("\n");
return 0;
}
設有以下主函數:
int main()
{ int a[2][3];
__________; //定義指針變量並賦初值
__________ ; //輸入a[0][0]的值,利用數組名錶示a[0][0] (用下標法)
__________ ; //輸入a[0][1]的值,利用數組名錶示a[0][1] (用指針法)
__________ ; //輸入a[0][2]的值,利用指針變量表示a[0][2] (用下標法), 此處的指針變量是指向變量的
__________ ; //輸入a[1][0]的值,利用指針變量表示a[1][0] (用指針法), 此處的指針變量是指向變量的
__________ ; //輸入a[1][1]的值,利用指針變量表示a[1][1] (用下標法), 此處的指針變量指向一維數組
__________ ; //輸入a[1][2]的值,利用指針變量表示a[1][2] (用指針法), 此處的指針變量指向一維數組
__________; //調用sub函數,使每一個數據翻番
for( ___________) //輸出全部數據,要求用最快的方法
____________________;
return 0;
}
請完善主函數,並寫出sub函數的定義。
共輸入6個整數
輸出通過被調函數處理後的數據
#include <stdio.h>
#include <stdlib.h>
void sub(int *p)
{
int i;
for(i=0;i<6;i++)
{
*p=*p*2;
p++;
}
}
int main()
{ int a[2][3];
int *p=a[0]; //定義指針變量並賦初值
int i;
scanf("%d",&a[0][0]); //輸入a[0][0]的值,利用數組名錶示a[0][0] (用下標法)
scanf("%d",&a[0][1]) ; //輸入a[0][1]的值,利用數組名錶示a[0][1] (用指針法)
scanf("%d",&a[0][2]); //輸入a[0][2]的值,利用指針變量表示a[0][2] (用下標法), 此處的指針變量是指向變量的
scanf("%d",&a[1][0]); //輸入a[1][0]的值,利用指針變量表示a[1][0] (用指針法), 此處的指針變量是指向變量的
scanf("%d",&a[1][1]); //輸入a[1][1]的值,利用指針變量表示a[1][1] (用下標法), 此處的指針變量指向一維數組
scanf("%d",&a[1][2]); //輸入a[1][2]的值,利用指針變量表示a[1][2] (用指針法), 此處的指針變量指向一維數組
sub(*a); //調用sub函數,使每一個數據翻番
for( i=0;i<6;i++) //輸出全部數據,要求用最快的方法
printf("%d ",*(p+i));
return 0;
}
主函數代碼以下:
int main()
{
int i,s[2][3];
for(i=0;i<=5;i++)
scanf("%d",*s+i);
sub(s);
for(i=0;i<=5;i++)
printf("%d ",*(*s+i));
return 0;
}
其中sub()函數的功能是將數組s中的全部數據都變爲2倍,主函數已在後臺,請編寫sub函數。系統會自動將主函數代碼添加到你提交的代碼以後。
輸入6個整數
輸出最終的數據
#include <stdio.h>
#include <stdlib.h>
void sub(int (*p)[3])
{
int i;
int j;
for(i=0;i<6;i++)
{
*(*p+i)=*(*p+i)*2;
}
}
int main()
{
int i,s[2][3];
for(i=0;i<=5;i++)
scanf("%d",*s+i);
sub(s);
for(i=0;i<=5;i++)
printf("%d ",*(*s+i));
return 0;
}