数组 查询 增加 删除 排序
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 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15071672.html