为什么程序运行不出结果?a==3时的插入结果好像也不对,请问怎么改?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #include <iostream> using namespace std; int a; int shuzu[5]; void display() { cout<< "******************************************************" <<endl; cout<< "\t\t1--插入数据" <<endl; cout<< "\t\t2--显示所有数据" <<endl; cout<< "\t\t3--在指定位置处插入数据" <<endl; cout<< "\t\t4--查询能被3整除的数据" <<endl; cout<< "\t\t0--退出" <<endl; cout<< "******************************************************" <<endl; cout<< "请输入对应的数字进行操作:" ; cin>>a; } void showData( int a[], int length) { for ( int i = 0; i < length; i++) { cout<<a[i]<< " " ; } cout<<endl; } void input() { for ( int i=0;i<5;i++) { cout<< "请输入第" <<(i+1)<< "个数据:" <<endl; int num; cin>>num; shuzu[i]=num; } cout<< "数组元素为:" <<endl; showData(shuzu, sizeof (shuzu) / sizeof (shuzu[0])); } void insert() { cout<< "请输入要插入的数据:" <<endl; int num1; cin>>num1; cout<< "请输入要插入数据的位置:" <<endl; int num2; cin>>num2; int l=( sizeof (shuzu) / sizeof (shuzu[0]))-1; for ( int i=l;i>num2;i--) { shuzu[i+1]=shuzu[i]; } shuzu[i]=num1; showData(shuzu, sizeof (shuzu) / sizeof (shuzu[0])); } int main() { display(); for ( int i=1;i<-1;) { if (a==1) { input(); display(); continue ; } if (a==2) { cout<< "数组元素为:" <<endl; showData(shuzu, sizeof (shuzu) / sizeof (shuzu[0])); display(); continue ; } if (a==3) { insert(); display(); continue ; } if (a==4) { cout<< "退出程序" <<endl; break ; } } return 0; } |
16
收起
正在回答 回答被采纳积分+1
2回答
C++零基础入门 热门编程语言 二级考试必备
- 参与学习 529 人
- 提交作业 110 份
- 解答问题 593 个
无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧