数组 查询 增加 删除 排序

 1 //数组  查询 增加  删除  排序
 2 
 3 #include <stdio.h>
 4 int main()
 5 {
 6 
 7     double power[] = {100,855,600,8960,20};    //定义一个战斗力的数组
 8     int count = 5;                             //元素个数为5
 9 
10     double deletepower;                        //删除的元素
11     int deleteindex = -1;                      //删除元素的下标 给一个不可能的初值
12     int i,j;                                   //循环变量
13     double temp;
14     double insertpower;                        //插入新的战斗力
15 
16     for (i = 0; i < count;i++)                 //打印所有的战斗力的值,
17     {
18         printf("%.2lf\t\t",power[i]);
19     }
20 
21 
22     //删除
23     printf("\n输入删除的战斗力:\n");           //输入当前所删除的战斗力
24     scanf("%lf",&deletepower);                 //输入
25 
26 
27     for(i= 0; i < count; i++)
28     {
29         if(deletepower == power[i])            //是否等于数组里的元素
30         {
31             deleteindex = i;                   //记录当前的下标
32 
33             break;                             //找到了就直接跳出循环
34         }
35 
36     }
37 
38     //判断是否找到
39     if(-1 == deleteindex)                         //没有找到还是 -1
40     {
41         printf("没有找到!!\n");
42     }
43     else
44     {
45         //从下标开始,后面的一个数字覆盖前面的一个数字
46         for( i = deleteindex; i<count -1; i++)
47         {
48             power[i] = power[i+ 1];
49 
50         }
51         count--;                              //循环完毕要删除一个元素
52     }
53 
54 
55 
56     printf("删除后的结果为:\n");             //打印最后的结果
57     for(i = 0; i < count; i++)
58     {
59         printf("%.2lf\t\t",power[i]);
60     }
61 
62    //新增数
63     printf("\n请输入新增的战斗力:");
64     scanf("%lf",&insertpower);
65 
66     power[count] = insertpower;              //插入新的元素
67 
68     count++ ;                                //要加上新的元素
69 
70 
71     printf("插入后的结果为:\n");             //打印最后的结果
72     for(i = 0; i < count; i++)
73     {
74         printf("%.2lf\t\t",power[i]);
75     }
76 
77 
78     //如果战斗力有序
79     for(i = 0; i<count-1 ;i++)
80     {
81         for(j = 0; j < count - i- 1;j++)
82         {
83 
84             if(power[j] > power[j+1])
85             {
86                 temp = power[j];
87                 power[j] = power[j+1];
88                 power[j+1] = temp;
89             }
90         }
91     }
92    // 打印结果
93     printf("\n排序完的战斗力值为:\n");
94     for(i = 0; i <count; i++)
95     {
96 
97         printf("%.lf\t\t",power[i]);
98     }
99 }

 

posted on 2021-07-28 11:49  Bytezero!  阅读(46)  评论(0编辑  收藏  举报