C语言编程题,初学C语言

img


请教一下大家这题要如何进行编程,有点思路但是不太清晰,初学C语言,碰到的问题比较多,谢谢

思路可以参考如下:

//输入一个长度为len的数组
void input(float* array,int len);

//获取最大值
float max(float* array,int len);

//获取最小值
float min(float* array,int len);

//进行排序
void sortDesc(float* array,int len);

int main()
{
      float[] array[10];
      int len = 10;
      input(&array,len);
      .....
}

然后提供一些子函数的思路:
从键盘输入可以参考:

int i,a[2];
    for(i=0;i<2;i++)
        scanf("%d",a+i);

求数组最大值可以参考:

int main(void)
{
    int a[7] = {45,32,86,56,24,98,85};
    int min, max;
    min = a[0]; max = a[0];    
    int i;
    for (i = 0; i < 7; i ++)
    {
        if (a[i] < min)
            min = a[i];
        if (a[i] > max)
            max = a[i];
    }
    printf("min = %d\n", min);
    printf("max = %d\n", max);
    return 0;
}

数组倒序排序可以参考:

#include<stdio.h> 
int main()
{ 
  int a[10]={20,23,12,91,19,36,39,21,52,38};
  int i,j,t;
  int *p=a;       //使用指针 
  for(i=0;i<9;i++) 
  {
    for(j=0;j<9;j++)
    {
      if(*(p+j)<*(p+j+1))
      {
         t=*(p+j);
        *(p+j)=*(p+j+1);
        *(p+j+1)=t;
      }
    }
  }
    for(i=0;i<10;i++) //从大到小输出
    { 
      printf("%d\t",*(p+i));    
    }
    
  return 0;
}

希望对您有所帮助!


#include "stdio.h"

void main(){
    int arr1[15];//每位同学的成绩
    for(int i=0;i<15;i++){
        scanf("%d",arr1+i);//从键盘输入,arr+i才是赋值
    }
    int max_num=arr1[0];//最高分初始化
    int x=0;//最高分的同学的编号
    int min_num=arr1[0];//最低分初始化
    int y=0;//最低分同学的编号
    for(int i=0;i<15;i++){
        if (arr1[i]>max_num){
            max_num=arr1[i];
            x=i;
        }
        if (arr1[i]<min_num){
            min_num=arr1[i];
            y=i;
        }
    }
    printf("最高分:%d,编号对应的索引:%d\n最低分:%d,编号对应的索引:%d",max_num,x,min_num,y);
    printf("\n按成绩从高到低排序后的结果为:\n");
    for(int i=0;i<15;i++){
        for(int j=0;j<15-i-1;j++){
            if (arr1[j]<arr1[j+1]) {
                int temp = arr1[j];
                arr1[j] = arr1[j + 1];
                arr1[j + 1] = temp;
            }
        }
    }
    for(int i=0;i<15;i++){
        printf("%d ",arr1[i]);
    }

}