用結構體調用的方法編程,要求輸入A,B,C,D,E,F五個元素的數值,並按從大到小的順序輸出。

程序代碼:

#include <stdio.h>
#define N 6

struct data
{
  char name;
  int value;
} arr[] = {{'A', 0}, {'B', 0}, {'C', 0}, {'D', 0}, {'E', 0}, {'F', 0}}, t;

void main()
{
  int i, j;
  /*錄入數據*/
  for (i = 0; i < N; i++)
  {
    printf("Enter data for %c\n", arr[i].name);
    scanf("%d", &arr[i].value);
  }
  /*冒泡排序*/
  for (i = 0; i < N - 1; i++)
  {
    for (j = 0; j < N - 1 - i; j++)
    {
      if (arr[j].value < arr[j + 1].value)
      {
        t = arr[j];
        arr[j] = arr[j + 1];
        arr[j + 1] = t;
      }
    }
  }
  /*輸出數據*/
  for (i = 0; i < N; i++)
  {
    printf("%c(%d)", arr[i].name, arr[i].value);
  }
}

運行效果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章