从键盘输入10个浮点数保存到一堆数组中,输出大于平均值的元素及其下标

从键盘输入10个浮点数保存到一堆数组中,输出大于平均值的元素及其下标

稍等,我帮你写一个吧

#include <stdio.h>

int main()
{
    int i, count = 0;
    float sum = 0, avg;
    float nums[10];

    printf("请输入10个浮点数:\n");
    for(i = 0; i < 10; i++) {
        scanf("%f", &nums[i]);
        sum += nums[i];
    }

    avg = sum / 10;

    printf("大于平均值的元素及其下标:\n");
    for(i = 0; i < 10; i++) {
        if(nums[i] > avg) {
            printf("%d:%f ", i, nums[i]);
            count++;
        }
    }
    if(count == 0) {
        printf("没有元素大于平均值\n");
    }

    return 0;
}

#include <iostream>
using namespace std;
int main() {
    
    double arr[10];
    double sum = 0;
    for (int i = 0; i < 10; i++) {
        cout << "请输入第" << i+1 << "个元素:";
        cin >> arr[i];
        sum += arr[i];
    }
    double avg = sum / 10;  
    cout << "平均值为:" << avg << endl;
    cout << "大于平均值的元素及其下标为:";
    for (int i = 0; i < 10; i++) {
        if (arr[i] > avg) {
            cout << "arr[" << i << "]=" << arr[i] << " ";
        }
    }
    return 0;
}

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7660633
  • 你也可以参考下这篇文章:华为手机安卓9以上获取系统多语言出错的解决方案
  • 除此之外, 这篇博客: 要求:从键盘输入10个整数存入一个数组中,用函数编程将其中的最大数与最小数位置互换,然后输出互换后的数组。中的 要求:从键盘输入10个整数存入一个数组中,用函数编程将其中的最大数与最小数位置互换,然后输出互换后的数组。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

  • 函数原型:void MaxMinExchang(int a[], int n);

    输入提示信息:“Input 10 numbers:”
    输入格式:"%d"
    输出提示信息:“Exchang results:”
    输出格式:"%4d"

    程序运行结果示例:
    Input 10 numbers:8 2 7 4 9 11 5 47 6 97↙
    Exchang results: 8 97 7 4 9 11 5 47 6 2

    第一次这么认真地做学校C语言习题。虽然写的代码又臭又长,而且没有按照要求的函数原型来写……(标准答案在最后面)

    #include <stdio.h>
    #include <stdlib.h>
    void Input(int a[],int n);
    int Findmax(int a[],int n);
    int Findmin(int a[],int n);
    void Exchange(int x[], int n, int a,int b);
    void Output(int a[],int n);
    
    int main()
    {
        printf("Input 10 numbers:");
        int num[10];
        int max,min;
        Input(num,10);
        max=Findmax(num,10);
        min=Findmin(num,10);
        printf("%d,%d",max,min);
        Exchange(num,10,max,min);
        printf("Exchang results:");
        Output(num,10);
        return 0;
    }
    
    void Input(int a[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        return 0;
    }
    
    int Findmax(int a[],int n)
    {
        int i,findmax=a[0];
        for(i=1;i<n;i++)
        {
            if(findmax<a[i])
                findmax=a[i];
        }
        return findmax;
    }
    
    int Findmin(int a[],int n)
    {
        int i,findmin=a[0];
        for(i=1;i<n;i++)
        {
            if(findmin>a[i])
                findmin=a[i];
        }
        return findmin;
    }
    
    void Exchange(int x[], int n, int a,int b)
    {
        int i;
    printf("%d,%d\n",a,b);
        for(i=0;i<10;i++)
        {
    
            if(x[i]==a)
                x[i]=b;
            else if(x[i]==b)
                x[i]=a;
            else
                x[i]=x[i];
        }
    
    }
    
    void Output(int a[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {
            printf("%4d",a[i]);
        }
        return 0;
    }
    
    

    然后是标准答案:

    #include <stdio.h>
    void MaxMinExchang(int a[], int n);
    int FindMaxPos(int s[], int n);
    int FindMinPos(int s[], int n);
    int main()
    {  	   	  	
        int i, a[10];
        printf("Input 10 numbers:"); 
        for (i = 0; i < 10; i++) 
        {  	   	  	
            scanf("%d", &a[i]);
        }
        MaxMinExchang(a, 10);//1
        printf("Exchang results:");
        for (i = 0; i < 10; i++)
        {  	   	  	
            printf("%4d", a[i]);//1
        }
        printf("\n");
        return 0;
    }  	   	  	
    /* 函数功能:将数组中的最大数与最小数位置互换 */
    void MaxMinExchang(int a[], int n)
    {  	   	  	
        int  maxPos, minPos, temp; 
        maxPos = FindMaxPos(a, n);//1
        minPos = FindMinPos(a, n);//1
        temp = a[maxPos];
        a[maxPos] = a[minPos];//1
        a[minPos] = temp; 
    }  	   	  	
    /* 函数功能:计算数组中的最大值在数组中的下标位置 */
    int FindMaxPos(int s[], int n)//1
    {  	   	  	
        int maxPos = 0, max = s[0], i; 
        for (i = 1; i < n; i++) 
        {  	   	  	
            if (s[i] > max) //1
            {  	   	  	
                max = s[i]; 
                maxPos = i;
            }
        }
        return maxPos;
    }  	   	  	
    /* 函数功能:计算数组中的最小值在数组中的下标位置 */
    int FindMinPos(int s[], int n)//1
    {  	   	  	
        int minPos = 0, min = s[0], i; 
        for (i = 1; i < n; i++) 
        {  	   	  	
            if (s[i] < min)//1
            {  	   	  	
                min = s[i];
                minPos = i;
            }
        }
        return minPos;
    }  	   	  	
    

    同学们还是要认真对待每一门课程,不要像我一样偷懒!呜呜呜呜呜。

  • 您还可以看一下 AI100讲师老师的朋友圈爆款背后的计算机视觉技术与应用课程中的 朋友圈爆款背后的计算机视觉技术与应用小节, 巩固相关知识点