c语言利用数组指针方法 输入五个数字求出最小值 将最小值和数组第一个数字互换位置 输出数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言利用数组指针方法 输入五个数字求出最小值 将最小值和数组第一个数字互换位置 输出数组相关的知识,希望对你有一定的参考价值。

c语言利用数组指针方法 输入五个数字求出最小值 将最小值和数组第一个数字互换位置 输出数组比如五个数:5 6 1 8 3
则最小值为:1
最后输出结果为:1 6 5 8 3

#include <stdio.h>
#define N 5
int main()

int arr[N];
int i,min,j,tmp;
printf("输入5个数字: ");
for(i=0;i<N;i++)
scanf("%d",&arr[i]);
for(i=0,min=arr[0];i<N;i++)
if(min>arr[i])
min=arr[i];
j=i;


arr[j]=arr[0];
arr[0]=min;
printf("输出结果为: ");
for(i=0;i<N;i++)
printf("%d ",arr[i]);
printf("\\n");
return 0;

追问

数组运用到了 可是指针呢😭 必须要用到指针呢

追答

噢噢,好的,我修改下代码吧。修改后的代码如下:

#include <stdio.h>
#define N 5
int main()

    int arr[N];
int *p,*q;  //指针p用来遍历数组元素,指针q用来指向当前的最小值元素
    printf("输入5个数字: ");
    for(p=arr;p<arr+N;p++)
        scanf("%d",p);
    for(p=q=arr;p<arr+N;p++)
        if(*q > *p)
q=p;
    
    arr[0]= *q;
    *q=arr[0];
    printf("输出结果为: ");
    for(p=arr;p<arr+N;p++)
        printf("%d ",*p);
    printf("\\n");
    return 0;

追问

出错了🙄

一点小问题 我自己改了下 加了个变量t 把它们替换下就行了

还是谢谢你了

😊😊😊😊😊

参考技术A #include<stdio.h>
void main()

    double a[] = 3, 4.2, 4, 5.3, 1, 0.4, 5;
    double *max=(double *)malloc(sizeof(double));  // 最大值指针
    double *min=(double *)malloc(sizeof(double));  // 最小值指针
    int i;
    *max = a[0]; // 初始化最大值
    *min = a[0]; // 初始化最小值
    for(i=1; i<7; i++) // 7表示数组a的长度
    
        if(*max<a[i])
            *max = a[i];  // 保存最大值
        if(*min>a[i])
            *min = a[i];  // 保存最小值  
    

c语言辗转相除法求最大公约数和最小公倍数

参考技术A

c语言辗转相除法求最大公约数和最小公倍数的方法如下:

一、算法思想

利用格式输入语句将输入的两个数分别赋给a和b,然后判断a和b的关系,如果a小于b,则利用中间变量t将其互换。再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其输出。

二、名词解释

1、最小公倍数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数,对于两个整数来说,指该两数共有倍数中最小的一个。计算最小公倍数时,通常会借助最大公约数来辅助计算。

2、最大公约数:如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的最大公约数。

3、辗转相除法: 是求最大公约数的一种方法。即用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。

以上是关于c语言利用数组指针方法 输入五个数字求出最小值 将最小值和数组第一个数字互换位置 输出数组的主要内容,如果未能解决你的问题,请参考以下文章

C语言 利用指针实现求数组元素中的最大值和最小值

C语言 用指针访问的方式 输入3个数,输出最小值 要分析过程,谢谢

c语言 输入五个整数,保存到数组a,查找最小值,将结果以%d保存到data.txt文件中

c语言编程 输入5个数 求出最大值和最小值

C语言利用指针编写程序,求一维数组中的最大和最小值

C语言利用指针编写程序,求一维数组中的最大和最小值