qq_56927718
2021-06-07 23:40
采纳率: 100%
浏览 22

c语言初学者,请各位大佬帮忙,求这道C语言程序的编程程序!!!

 

输入一个正整数n (1<n≤10),再输入n个整数,将它们存入数组a中。输出最小值和它所对应的下标。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-张老师 2021-06-07 23:42
    已采纳
    #include <stdio.h>
    int main()
    {
        int a[10],i=0,n=0,min=0,xb=0;
        scanf("%d",&n);
        for (i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            if (i==0)
            {
                min = a[i];
            }else if (min > a[i])
            {
                min = a[i];
                xb = i;
            }
        }
        printf("min[%d]=[%d],",xb,min);
    }

    思路 可以用循环实现,不断比较数组每个元素

    已采纳该答案
    打赏 评论
  • CSDN专家-张老师 2021-06-07 23:43
    #include <stdio.h>
    #include <stdlib.h>
    int main(void)
    {
    int n = 0, i;
    int min = 0,minpos = 0;
    int* a = NULL;
    printf("请输入你要输入多少整数\n");
    scanf("%d",&n);
    a = (int*)malloc(n*sizeof(int));
    if(a == NULL) return -1;
    printf("请输入这%d个整数\n",n);
    for(i=0; i<n;)
    {
    scanf("%d",a+i);
    if(*(a+i)<2 || *(a+i)>10)
    {
    printf("重新输入\n");
    }else{
    i++;
    }
    }
    min = *a;
    for(i=0; i<n; i++)
    {
    if(*(a+i) < min)
    {
    min = *(a+i);
    minpos = i;
    }
    }
    printf("最小数%d,位置%d\n",min, minpos+1);
    *(a+minpos) = *a;
    *a = min;
    for(i=0; i<n; i++)
    {
    printf("%d\t",*(a+i));
    }
    return 0;
    }
    
    打赏 评论
  • YLL_ 2021-06-07 23:43

    学习下排序算法

    打赏 评论
  • 雷鬼007 2021-06-07 23:45

    最大值最小值都有,你自己改装一下吧 

    
    // 给你一段代码你参考一下
     
    #include<stdio.h>
     
    static inline int MyMax(int a, int b)
    {
       return (a > b) ? a : b;
    }
    static inline int MyMin(int a, int b)
    {
       return (a > b) ? b : a;
    }
    int main()
    {
        int i, m, sum;
        int max = 0x80000000;
        int min = 0x7fffffff;
        double aver;
     
        scanf("%d",&m);
        
        int a[m];
     
        sum=0;
        for(i = 0; i < m; i++) {         
            scanf("%d",&a[i]);
            sum += a[i];
            min = MyMin(min, a[i]);
            max = MyMax(max, a[i]);
        }
     
        aver = (double)sum / (double)m;
        
        printf("aver = %f, max=%d, min=%d\n", aver, max, min);
        return 0;
    }
    打赏 评论
  • 有问必答小助手 2021-06-08 11:02

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    打赏 评论

相关推荐 更多相似问题