为什么程序运行不出结果?a==3时的插入结果好像也不对,请问怎么改?
#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 份
- 解答问题 594 个
无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星