为什么程序运行不出结果?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 份
- 解答问题 593 个
无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!
了解课程


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星