为什么前后的数值不一样?
实现数组的插入,麻烦帮忙看一下,为什么61和68行插入的insert_num不一样了?谢谢。#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
//实现数组的插入
double nums={2,3,4,1};
int nums_count=sizeof(nums)/sizeof(double);
double insert_num;
int insert_index=0;
//cout<<nums_count<<endl;
cout<<"原始数组是:";
for(int i=0;i<nums_count;i++)
{
cout<<nums<<setw(3);
}
//对数组进行排序
double tmp;
for(int i=0;i<nums_count;i++)
{
for(int j=0;j<nums_count;j++)
{
if(nums<nums)
{
tmp=nums;
nums=nums;
nums=tmp;
}
}
}
//排序后
cout<<endl<<"排序后的数组是:";
for(int i=0;i<nums_count;i++)
{
cout<<nums<<setw(3);
}
//插入:
cout<<" 请输入要插入的数字:";
cin>>insert_num;
//cout<<insert_num<<"vccc"<<endl;
insert_index=nums_count;
//1 找到第一个比插入数字大的位置insert_index
for (int i=0;i<nums_count; i++)
{
if(insert_num>nums)
{
insert_index=i;
break;
}
}
cout<<"插入的insert_num:"<<insert_num<<endl; //问题点,第61行
//2 从最后一位开始,将前一位的数字复制到后一位去
for (int i=nums_count-1;i>=insert_index;i--)
{
nums=nums;
}
cout<<"插入的insert_num:"<<insert_num<<endl; //问题点,第68行
//3 将要插入的数字赋值给insert_index位置的元素
nums=insert_num;
//4 数组总长度+1
nums_count++;
//插入后
cout<<endl<<"插入后的数组是:";
for(int i=0;i<nums_count;i++)
{
cout<<nums<<setw(3);
}
return 0;
}
https://imgchr.com/i/GZklzq
页:
[1]