这个程序有bug,当插入的数小于数组的第一个数时,count也会等于0,因此应该再加一个标志位, #include<stdio.h> int main() { int i,j,num,t=0; int count=0,array[10]={0};//定义 for(i=0;i<9;i++) { scanf("%d",&array[i]); } scanf("%d",&num); //键盘输入 for(i=0;i<9;i++) //遍历数组 { if(array[i]>num) { count = i; t=1; for(j=0;j<9-count;j++) { array[9-j]=array[8-j]; } break; } // 如果插入数小于数组中的这个数 // 令这个数及其后面的所有数全部后移一位 } // 如果count与初始值一样并且t=0,说明插入的数比前面的数组的
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:625 |
C语言训练-计算一个整数N的阶乘 (C语言代码)浏览:928 |
【蟠桃记】 (C语言代码)浏览:648 |
C二级辅导-温度转换 (C语言代码)浏览:718 |
格式化数据输出 (C语言代码)浏览:811 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:568 |
【出圈】 (C++代码)简单循环浏览:628 |
简单的a+b (C语言代码)浏览:448 |
三进制小数 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:490 |