c语言求编程步骤
发布网友
发布时间:2022-04-22 15:47
我来回答
共3个回答
热心网友
时间:2023-11-11 08:40
先申请20*4字节的内存存放指针。
然后每输入一个数字,动态申请4字节的空间存储输入的整数,然后把地址存到先前申请的20*4字节的指针数组中去。前面的动作重复20遍。
然后比较指针数组里面的值,找出最大整数的指针,找出最小整数的指针,分别与首位交换就好了。
热心网友
时间:2023-11-11 08:40
#include <stdio.h>
#define NUM_COUNT 20
void swap(int *a, int *b)
{
int n = *a;
*a = *b;
*b = n;
}
int main()
{
int a[NUM_COUNT], *max, *min;
int i;
max = a;
min = a+19;
//读入数字
for(i = 0; i < NUM_COUNT; ++i)
{
printf("Input the %d# number:", i + 1);
scanf("%d", &a[i]);
}
//遍历读入的数字,并逐一与最大、最小数指针处的数字比较
//若大于当前最大数或小于当前最小数,则改变指针指向
for(i = 0; i < NUM_COUNT; ++i)
{
if(a[i] > *max)
{
max = a+i;
}
if(a[i] < *min)
{
min = a+i;
}
}
//将首尾数字与最大最小数交换位置
swap(max, a);
swap(min, a + NUM_COUNT - 1);
//输出结果
for(i = 0; i < NUM_COUNT; ++i)
{
printf("%d ", a[i]);
}
getchar();
getchar();
return 0;
}
热心网友
时间:2023-11-11 08:41
整数用数组存吗?不用数组那要怎么用指针?我也不知道啊