有二维数组a[3][4]={1到12}现从键盘任意输入一个整数n编程使用数组指针p?

2025-06-27 20:12:27
推荐回答(3个)
回答1:

代码如下:


#include

int main()

{

int i,j,k,n,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

printf("输入n:");

scanf("%d",&n);

k=0;

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

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

if(a[i][j]==n)

{

printf("下标:%d,%d\n",i,j);

k++;

}

if(!k) printf("n不包含在数组a中\n");

return 0;

}

回答2:

#include

int main (void)
{
int a[3][3];
int *p=&a[0][0];
printf("请依次来输入数组的值,以回车键结束\n");
scanf("%d", &*p);
scanf("%d", &*(p+1));
scanf("%d", &*(p+2));
scanf("%d", &*(p+3));
scanf("%d", &*(p+4));
scanf("%d", &*(p+5));
scanf("%d", &*(p+6));
scanf("%d", &*(p+7));
scanf("%d", &*(p+8));
printf("输入的值是自%d,%d,%d\n输入的值是%d,%d,%d\n输入的值是%d,%d,%d\n",*p,*(p+1),*(p+2),*(p+3),*(p+4),*(p+5),*(p+6),*(p+7),*(p+8));
return 0;
}
//

回答3:

#include
int main()
{
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=&a[0][0],i,j,n,r,c;
for(i=0;i<3;i++){
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\nenter n:");
scanf("%d",&n);
for(i=0;i<12;i++)
if(n==*(p+i))
{
r=(int)(i/4)+1;
c=i%4+1;
printf("%d %d",r,c);
if(i<=11)break;
}
if(i>11)printf("no");

}