2022-9-1 作业

1、通过键盘输入6名学生的成绩,输出6名学生的成绩,使用冒泡法对班级学生的成绩升序排序,输出排序后成绩

  1 #include 
  2 int main(int argc, const char *argv[])
  3 {
  4     int i,j;
  5     float temp;
  6     float a[6];
  7     printf("input students score:\n");
  8     for(i = 1;i <= 6;i++)
  9     {
 10         scanf("%f",&a[i-1]);
 11     }
 12     printf("input succeed\n");
 13 loop:
 14     if(i>1)
 15     {
 16         printf("a[%d]=%f;",7-i,a[7-i]);
 17         i--;
 18         goto loop;
 19     }
 20     putchar(10);
 21 
 22 
 23     for(i = 1;i < (sizeof(a)/sizeof(float));i++)
 24     {
 25 
 26         for(j = 0;j < sizeof(a)/sizeof(float) - 1;j++)
 27         {
 28             if(a[j]>a[j+1])
 29             {
 30                 temp = a[j];
 31                 a[j] = a[j+1];
 32                 a[j+1] = temp;
 33             }
 34                                                                                                                                
 35         }
 36 
 37     }
 38     i = 0;
 39     while(i < sizeof(a)/sizeof(float) )
 40     {
 41         printf("a[%d]=%f;",i,a[i]);
 42         i++;
 43     }
 44     printf("\n");
 45 
 46     return 0;
 47 }
~                                                  

2.定义一个双精度浮点型数组,存放十个学生成绩,输入十名学生成绩,输出赋值后的所有元素。使用选择排序,完成降序排序后输出,并求出平均分,并统计出大于平均分学生的比重,输出结果。

 1 #include 
  2 #define size 10
  3 int main(int argc, const char *argv[])
  4 {
  5     int i,j;
  6     double a[size];
  7     printf("input scores:\n");
  8 
  9     for(i=1;i<=10;i++)
 10     {
 11         printf("student %d score:",i);
 12         scanf("%lf",&a[i-1]);
 13     }
 14     putchar(126);
 15     putchar(10);
 16     i = 0;
 17 loop:
 18     if(i<10)
 19     {
 20     printf("a[%d]=%lf\n;",i,a[i]);
 21     i++;
 22     goto loop;
 23     }
 24     printf("input succeed\n");
 25 
 26     double  min = a[0],temp;
 27     int minnum = 0;
 28     for(i = 1; iaver)
 64         {
 65         flag += 1;
 66         }
 67     }
 68     printf("weight is %f%%\n",flag*1.0/size*100);
 69     return 0;
 70 }

3. 自己独立完成冒泡排序和选择排序的代码

  1 #include 
  2 #define size 5
  3 int main(int argc, const char *argv[])
  4 {
  5     int a[size] = {3,1,2,5,4};                           //冒泡   
  6     int temp,i,j;
  7     for(i = 1;i < size;i++)
  8     {
  9 
 10         for(j = 0;j < size -i;j++)
 11         {
 12           if(a[j]>a[j+1])
 13           {
 14             temp = a[j];
 15             a[j] = a[j+1];
 16             a[j+1] = temp;
 17           }
 18 
 19         }
 20 
 21     }
 22     i = 0;
 23     do
 24     {
 25         printf("a[%d]=%d;",i,a[i]);
 26         i++;
 27     }while(i= max)
 38             {
 39                 maxnum = j;
 40                 max = b[j];
 41             }
 42 
 43         }
 44         temp = b[maxnum];
 45         b[maxnum] = b[size - i];
 46         b[size - i] = temp;
 47 
 48     }                                                                                                                                                                              
 49     for(i = 0;i < size;i++)
 50     {
 51         printf("b[%d]=%d;",i,b[i]);
 52     }
 53     putchar(10);
 54     return 0;
 55 }

你可能感兴趣的:(c语言)