C/C++教程

【C++指针题目】动态分配数组元素替换

本文主要是介绍【C++指针题目】动态分配数组元素替换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Description

首先输入数组元素的个数n,然后使用new分配一个整型数组,依次输入n个元素的值,按格式要求输出数组元素,将数组中值小于0的元素替换为0,最后输出替换后的数组,注意程序必须用指针实现,不能用下标变量的形式

Input

输入有2行,第1行为一个整数,即数组元素个数,第2行依次输入数组元素的值,每个数据之间用空格分开

Output

输出有2行,第1行输出原数组的元素,第2行输出替换后的数组元素,具体格式见Sample Output

Sample Input

5

2 -3 6 -8 9

Sample Output

a[5]={2,-3,6,-8,9}

a[5]={2,0,6,0,9}

题解

 

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     cin>>n;
 7     
 8     int *p = new int[n];           //动态内存分配 
 9     
10     for(int i=0;i<n;i++) cin>>p[i];//输入 
11     
12     cout<<"a["<<n<<"]={"<<p[0];
13     for(int i=1;i<n;i++)    cout<<","<<p[i];
14     cout<<"}"<<endl;               //输出 
15     
16     for(int i=0;i<n;i++)
17         if(p[i]<0) p[i]=0;         //替换数组元素 
18     
19     cout<<"a["<<n<<"]={"<<p[0];
20     for(int i=1;i<n;i++)    cout<<","<<p[i];
21     cout<<"}"<<endl;               //输出
22     
   delete []p;//释放动态内存
24     return 0;
25 }

 

 注意最后要释放动态内存~

 

 

这篇关于【C++指针题目】动态分配数组元素替换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!