C语言中一个简单的题目
答案:4 悬赏:50 手机版
解决时间 2021-05-09 22:08
- 提问者网友:骨子里的高雅
- 2021-05-09 12:31
已知一个整形数组a[10],要求定义2个指向整形变量的指针变量max,min,使它们分别指向数组的最大数和最小数.
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-05-09 13:02
void findM(int a[],int** max,int** min,size_t size)
{
size_t i;
*min=*max=a;
for(i=0;i<size;i++)
{
if(a[i]>**max)
*max=a+i;
if(a[i]<**min)
*min=a+i;
}
}
int hw(char *string)
{
size_t j=strlen(string)-1,i=0;
if(j==1) return 1;
for(;i<j;i++)
{
if(string[i]!=string[j])
{
return 0;
}
j--;
}
return 1;
}
{
size_t i;
*min=*max=a;
for(i=0;i<size;i++)
{
if(a[i]>**max)
*max=a+i;
if(a[i]<**min)
*min=a+i;
}
}
int hw(char *string)
{
size_t j=strlen(string)-1,i=0;
if(j==1) return 1;
for(;i<j;i++)
{
if(string[i]!=string[j])
{
return 0;
}
j--;
}
return 1;
}
全部回答
- 1楼网友:上分大魔王
- 2021-05-09 15:20
给下思路下,假设判断最大那么定义一个只指向整形变量的指针int *p
设p等于数组的第一个元素
p = a;
现在通过一个循环比较从2个元素起比较,如果大于p所指向的值那么将值付给p继续比较
最小值原理亦是如此....
- 2楼网友:掌灯师
- 2021-05-09 14:40
int main()
{
int a[]={2,4,3,1,5,7,6,9,0,8};//你已知的
int i;
int *max,*min;
*max=*min=a[0];
for(i=0;i<10;i++)
{
if(*max<a[i])
*max=a[i][;
else if(*min>=a[i])
*min=a[i];
}
printf("max=%d min=%d\n",*max,*min);
}
max已经指向了最大值,min已经指向了最小值,不知这是不是你要的程序
- 3楼网友:孤老序
- 2021-05-09 14:12
main()
{
int a[10], i ;
int *max=a ;
int *min=a ;
for(i=0;i<10;i++)
{
if(a[i]>*max)
max=a+i;
if(a[i]<*min)
min=a+i;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯