bjsgwhuejbd 2022-05-16 19:49 采纳率: 69.6%
浏览 28
已结题

c语言编码出现图示错误,提醒“paixu使指针从整数变为不进行类型整数”

输入10个学生的C语言成绩(假设成绩为整数值),求最高成绩、最低成绩和平均值。
**输入格式要求:"%d" 提示信息:"请输入10个学生的C成绩:\n"
**输出格式要求:
"10个学生的C成绩分别为:\n"
"%d\t"
10个成绩的最后输出一个"\n"
"最高成绩是%d,是第%d个学生\n"
"最低成绩是%d,是第%d个学生\n"
"10名学生的C成绩的平均分为:%.2f\n"
程序运行示例如下:
请输入10个学生的C成绩:
80 90 93 78 83 67 79 60 64 45
10个学生的C成绩分别为:
80 90 93 78 83 67 79 60 64 45
最高成绩是93,是第3个学生
最低成绩是45,是第10个学生
10名学生的C成绩的平均分为:73.90

#include <stdio.h>
#include <stdlib.h>
void paixu(int numbers[10],int xuehao[10]);
float average(int numbers[10]);
int main()
{
   int numbers[10];
   int xuehao[10]={1,2,3,4,5,6,7,8,9,10};
   printf("请输入10个学生的C成绩:\n");
   int i;
   for(i=0;i<10;i++)
   {
       scanf("%d",&numbers[i]);
   }
   paixu(numbers[10],xuehao[10]);
   float a;
   a=average(numbers[10]);
   printf("最高成绩是%d,是第%d个学生\n",numbers[0],xuehao[0]);
   printf("最低成绩是%d,是第%d个学生\n",numbers[9],xuehao[9]);
   printf("10名学生的C成绩的平均分为:%.2f\n",a);
    return 0;
}
void paixu(int numbers[10],int xuehao[10])
{
    int t,j,k,m;
    for(j=0;j<10;j++)
    {
        for(k=0;k<10-j-1;k++)
        {
            if(numbers[k]<numbers[k+1])
            {
                t=numbers[k];
                numbers[k]=numbers[k+1];
                numbers[k+1]=t;
                m=xuehao[k];
                xuehao[k]=xuehao[k+1];
                xuehao[k+1]=m;
            }
        }
    }
}
float average(int numbers[10])
{
    int i;
    int sum=0;
    float h;
    for(i=0;i<10;i++)
    {
       sum=sum+numbers[i];
    }
    h=(float)sum/10;
    return h;
}


img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-05-16 20:05
    关注

    函数的形参定义 ,函数的调用,写法问题,修改见注释,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    void paixu(int numbers[],int xuehao[]);
    //void paixu(int numbers[10],int xuehao[10]);
    float average(int numbers[]);
    //float average(int numbers[10]);
    int main()
    {
       int numbers[10];
       int xuehao[10]={1,2,3,4,5,6,7,8,9,10};
       printf("请输入10个学生的C成绩:\n");
       int i;
       for(i=0;i<10;i++)
       {
           scanf("%d",&numbers[i]);
       }
       paixu(numbers,xuehao); //paixu(numbers[10],xuehao[10]);
       float a;
       a=average(numbers);    //average(numbers[10]);
       printf("最高成绩是%d,是第%d个学生\n",numbers[0],xuehao[0]);
       printf("最低成绩是%d,是第%d个学生\n",numbers[9],xuehao[9]);
       printf("10名学生的C成绩的平均分为:%.2f\n",a);
    
       return 0;
    }
    void paixu(int numbers[],int xuehao[])
    //void paixu(int numbers[10],int xuehao[10])
    {
        int t,j,k,m;
        for(j=0;j<10;j++)
        {
            for(k=0;k<10-j-1;k++)
            {
                if(numbers[k]<numbers[k+1])
                {
                    t=numbers[k];
                    numbers[k]=numbers[k+1];
                    numbers[k+1]=t;
                    m=xuehao[k];
                    xuehao[k]=xuehao[k+1];
                    xuehao[k+1]=m;
                }
            }
        }
    }
    float average(int numbers[])
    //float average(int numbers[10])
    {
        int i;
        int sum=0;
        float h;
        for(i=0;i<10;i++)
        {
           sum=sum+numbers[i];
        }
        h=(float)sum/10;
        return h;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月24日
  • 已采纳回答 5月16日
  • 创建了问题 5月16日

悬赏问题

  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了