C语言的指针怎么用啊? 5
C语言的指针怎么用啊?1、题目要求:先定义函数求面积,然后通过调用函数求得田地面积,在用循环求得所有田地面积。根据程序求得农民每块田的面积和所有田地总面积2、代码部分:#...
C语言的指针怎么用啊?1、题目要求:先定义函数求面积,然后通过调用函数求得田地面积,在用循环求得所有田地面积。根据程序求得农民每块田的面积和所有田地总面积
2、代码部分:
#include<stdio.h>
int square (int a,int b)
{ int p;
p=a*b;
return p;}
void main()
{int i,l,w,j,a[22],s=0;
printf("请输入您所需测量田地的数量:");
scanf("%d",&i);
for(j=1;j<i+1;j++)
{printf("请输入第%d块田的长和宽:",j);
scanf("%d%d",&l,&w);
a[j]=square(l,w);
s=s+a[j];
printf("您第%d块田的面积为%d\n",j,a[j]);
printf("\n");
}
printf("您田地的总面积为:%d",s);
}
这是我们C语言实验课的考试题目,老师说要用到指针,可是我不会啊,不知道百度里面有没有大神能够帮我用指针加个求最大面积的一块地。 展开
2、代码部分:
#include<stdio.h>
int square (int a,int b)
{ int p;
p=a*b;
return p;}
void main()
{int i,l,w,j,a[22],s=0;
printf("请输入您所需测量田地的数量:");
scanf("%d",&i);
for(j=1;j<i+1;j++)
{printf("请输入第%d块田的长和宽:",j);
scanf("%d%d",&l,&w);
a[j]=square(l,w);
s=s+a[j];
printf("您第%d块田的面积为%d\n",j,a[j]);
printf("\n");
}
printf("您田地的总面积为:%d",s);
}
这是我们C语言实验课的考试题目,老师说要用到指针,可是我不会啊,不知道百度里面有没有大神能够帮我用指针加个求最大面积的一块地。 展开
2个回答
展开全部
在你提供的代码上进行了增加,我感觉你们老师可能是想让你们把指针用在数组上吧,对于一个指向数组的指针p,p++指向数组的下一个元素。此外,使用指针可以很好的提升代码执行效率。有问题可以互相交流。
#include <stdio.h>
#include <stdlib.h>
int square(int a, int b)
{
return a*b;
}
int main()
{
int i, j, l, w, s = 0, number = 1, max;
int *length = &l, *width = &w, *p = &i;
printf("请输入您所需测量田地的数量: \n");
scanf("%d",p);
int a[*p];
int *y = a;
for(j = 0; j < *p; j++)
{
printf("请输入第%d块田的长和宽: \n", j+1);
scanf("%d %d",length,width);
*(y+j) = square(*length, *width);
s = s + *(y+j);
max = *y;
if( *(y+j) > max)
{
max = *(y+j) ;
number = j+1;
}
}
for(j = 0; j < *p; j++)
{
printf("您第%d块田的面积为%d:\n",j+1,*(y+j));
}
printf("您的田地总面积为: %d \n", s);
printf("您最大面积一块第为第%d块,面积为%d !!!", number, max);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int square(int a, int b)
{
return a*b;
}
int main()
{
int i, j, l, w, s = 0, number = 1, max;
int *length = &l, *width = &w, *p = &i;
printf("请输入您所需测量田地的数量: \n");
scanf("%d",p);
int a[*p];
int *y = a;
for(j = 0; j < *p; j++)
{
printf("请输入第%d块田的长和宽: \n", j+1);
scanf("%d %d",length,width);
*(y+j) = square(*length, *width);
s = s + *(y+j);
max = *y;
if( *(y+j) > max)
{
max = *(y+j) ;
number = j+1;
}
}
for(j = 0; j < *p; j++)
{
printf("您第%d块田的面积为%d:\n",j+1,*(y+j));
}
printf("您的田地总面积为: %d \n", s);
printf("您最大面积一块第为第%d块,面积为%d !!!", number, max);
return 0;
}
展开全部
在c语言中.指针被用来表示内存单元的地址,如果把这个地址用一个变量来保存,则
这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。
严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。
内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单
元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内
存,则旅店的房间就是内存单元,房间号码就是该单元的地址。
指针变量定义格式:
[存储类型]
数据类型
*指针变量名[=初始值]
指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针
变量的赋值方式:
指针变量名;&普通变量名;
这种变量就称为指针变量。指针变量也分别有不同的类型,用来保存不同类型变量的地址。
严格地说.指针与指针变量是不同的,为了叙述方便,常常把指针变量就称为指针。
内存是计算机用于存储数据的存储器,以字节作为存储单元.为了能正确的访问内存单
元,必须为每一个内存单元编号,这个编号就称为该单元的地址。如果将一个旅店比喻成内
存,则旅店的房间就是内存单元,房间号码就是该单元的地址。
指针变量定义格式:
[存储类型]
数据类型
*指针变量名[=初始值]
指针变量一旦定义,必须采用赋值的方式将其与某个变量实体相联系,才能使用。指针
变量的赋值方式:
指针变量名;&普通变量名;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询