| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1944 人关注过本帖
标题:如何用NEW 和DELETE?
取消只看楼主 加入收藏
luoxin8556
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-6-16
收藏
 问题点数:0 回复次数:3 
如何用NEW 和DELETE?
用动态内存分配技术处理任意个学生单科成绩平均分的程序
#include<iostream.h>
void main()
{
int n,*h;
cout<<"输入学生个数:";
cin>>n;
h=new int[n];
for(int i=0;i<n;i++)
{
cout<<n<<"个学生的单科成绩为:"<<h[i]<<" ";
}
delete[]h;
}
我只能写到上面那个地步,但是如何处理单科成绩平均分,望指教。对NEW 和DELETE不太会运用,也不太明白是怎么一回事。
搜索更多相关主题的帖子: DELETE NEW 内存 单科 平均分 
2007-06-16 16:17
luoxin8556
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-6-16
收藏
得分:0 
以下是引用ioriliao在2007-6-16 18:42:45的发言:

int* x=new int;
*x=10;
//内存:
-------------------------------------------------------------------------------------
*x==>> |1byte|1byte|1byte|1byte| | | | | | | | | | | |
-------------------------------------------------------------------------------------
\ /
\这一段内存放10这个值/

cout<<*x<<endl; //如果你的目的输出指向内存的值后就不再用到这指向这段内存的值那么就得回收:
delete x; //如果不回收,就不能再用到这段内存了.就像一个杯子装满了水,如果你不把水倒出
//去,那么这杯了就不能再装进的水了.一个int占四个字节,如果你的内存只有四个
//字节的大小,那么如果你不回收内存,就会没有内存空间可用了,那么就会造成程序
//崩溃.至于什么时候回收内存,那得看你程序实际情况了.

你说的我能够明白,但是具体应用起来还是不太懂,我刚才修改了一下,请指正
题目是这样的:用动态内存分配技术处理任意个学生的单科平均成绩
我的代码是:
#include<iostream.h>
void main()
{
int d,c[100];;
float *h,sum=0;
cout<<"请输入学生个数:";
cin>>d;
cout<<"请输入"<<d<<"个学生的单科成绩:";
for(int a=0;a<d;a++)cin>>c[a];
for(int i=0;i<d;i++)
{sum+=c[i];}
h=new float(sum/d);
cout<<d<<"个学生的单科平均成绩为:"<<*h<<endl;
delete h;
}
不知道和是不是按题目的要求做,请大家指正

2007-06-16 20:26
luoxin8556
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-6-16
收藏
得分:0 
谢谢,写得太好了,但是我有些地方不明白,这个#include <stdlib.h>和using namespace std;有什么作用,主函数int main(int argc, char *argv[])内括号里的参数有什么作用?最后那个:system("PAUSE");又有什么作用,麻烦你再一次指教
另外你用NEW很巧妙的使数组自动分配到内存上,我却定义了数组的个数,这一点实在应该学习,我参照很多书,都直接用指针作输出,我没考虑可以这样利用指针。
2007-06-16 21:46
luoxin8556
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-6-16
收藏
得分:0 
我看的书都没有介绍说#include<iostream.h>要变成#include<iostream>的,应该算是比较旧的了,但是我觉得我才刚学不久,应该先从以前比较旧的书看起。我还是用VC++6.0的
我还想问一下用旧的头文件缺点在哪里?system("pause");这个暂停命令怎么使用,用来暂停程序执行吗?是程序自动暂停还是我手动暂停?
2007-06-17 00:29
快速回复:如何用NEW 和DELETE?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015397 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved