吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1163|回复: 36
收起左侧

[求助] 各位老师,C语言中在数组第1个位置新插入1个数字,结果出来正确,但报错?

[复制链接]
jtwc 发表于 2022-8-14 20:59
本帖最后由 jtwc 于 2022-8-14 21:00 编辑

各位老师,C语言中在数组第1个位置新插入1个数字,结果出来正确,但报错?该如何改呢?谢谢了
[C] 纯文本查看 复制代码
#include <stdio.h>  


int main()

{
                                
        int n = 5;//表示数值元素的个数
        double num[] = { 16, 25, 9, 90, 23 };
        double c = 1;//新插入的数字
        int i;//循环变量
        
        //插入一个新的数字
        for (i = 5+1; i > -1; i--)
        {
                num[i+1] = num[i];
                
        }
        num[0] = c;
        
        
        printf("插入后的结果:\n");
        for (i = 0; i < 5+1 ; i++)
        {
                printf("%.2lf\n", num[i]);
        }
        
        return 0;
}
1.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

SLCoCo 发表于 2022-8-14 21:07
你想想看一开始你的数组是多大
shaon153 发表于 2022-8-14 21:09
 楼主| jtwc 发表于 2022-8-14 21:52
shaon153 发表于 2022-8-14 21:09
i = 5,   5到0就是6位了

老师,改为5,还是报错?
[C] 纯文本查看 复制代码
#include <stdio.h>  


int main()

{
				
	int n = 5;//表示数值元素的个数
	double num[] = { 16, 25, 9, 90, 23 };
	double c = 1;//新插入的数字
	int i;//循环变量
	
	//插入一个新的数字
	for (i = 5; i > 0; i--)
	{
		num[i] = num[i-1];
		
	}
	
	num[0] = c;
	
	
	printf("插入后的结果:\n");
	for (i = 0; i < 5; i++)
	{
		printf("%.2lf\n", num[i]);
	}
	

	getchar();
	return 0;
}
轻描淡写9714 发表于 2022-8-14 21:56
jtwc 发表于 2022-8-14 21:52
老师,改为5,还是报错?[mw_shl_code=c,true]#include   

万物始于0啊,亲
无闻无问 发表于 2022-8-14 22:04
4才行,索引0…4,否则越界…
 楼主| jtwc 发表于 2022-8-14 22:07
无闻无问 发表于 2022-8-14 22:04
4才行,索引0…4,否则越界…

老师,改为4,是不报错,但我要的结果是出来6个数,不是5个数?
无闻无问 发表于 2022-8-14 22:15
你声明数组的大小只有5,不能这样操作的,要动态操作数组,考虑用vector…
 楼主| jtwc 发表于 2022-8-14 22:17
无闻无问 发表于 2022-8-14 22:15
你声明数组的大小只有5,不能这样操作的,要动态操作数组,考虑用vector…

额,谢谢老师
无闻无问 发表于 2022-8-14 22:22
本帖最后由 无闻无问 于 2022-8-14 22:24 编辑

这样即可,手机测试的…


#include <stdio.h>
#include<vector>
using namespace std;
int main()
{
    //int n = 5;//表示数值元素的个数
    vector<double> num = { 16, 25, 9, 90, 23 };
    double c = 1;//新插入的数字
    num.insert(num.begin(),c);
    for(int i=0;i<num.size();i++)
        printf("%lf\n",num);
    getchar();
    return 0;

}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
jtwc + 1 + 1 我很赞同!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表