求用c 寫統計學生成績的程式,要求用動態儲存分配思想完成陣列的定義

2021-08-13 14:20:18 字數 2733 閱讀 7549

1樓:借我一生秋雨

你是要騙你爸媽是麼?

一個c++程式,動態儲存分配,求指點

2樓:匿名使用者

錯誤太多了,連註釋都寫錯,改了

#include

#include //加標頭檔案

using namespace std;

class a

}~a() //解構函式delete

void inputdata()//輸入10個資料;}void makealist()//排序 //返回型別void//分號去掉

}double sum()//求和

double mean()//求平均

double fangc()//求方差

}; //分號

int main()//主程式

3樓:匿名使用者

哥們,你c++基礎確實不咋的,類中只能有方法和屬性啊,你這樣a()p=new double[10];

if(p==null)

是不對的

c++ 怎麼讓陣列動態的分配記憶體來儲存.?

4樓:匿名使用者

首先對於你的問題明確一下:

第一:你是說自己寫一個動態分配的資料麼?如果是那樣的話,你使用c中malloc和realloc,然後使用free釋放,方法一樓已經說過,不多說了;

你也可以使用c++中的new和delete,new和malloc基本差不多,但是new和delete是c++中的,對用類使用的話,new會呼叫類的預設建構函式,delete會呼叫類的解構函式,malloc和free不具上述功能。

第二:如果你說的是動代陣列的話,c++標準庫,也就是stl中有,陣列是vector,連結串列是list

vector和list都是自動增長的,也就是自動分配記憶體的,不用你管,只管使用即可,對於vector和list的實現,是由標準庫的牛人實現的,就如同呼叫c中的abs函式一樣,abs是c標準庫中的函式,實現也是有標準庫的大牛實現的,我們只管使用;對於stl的原理有很多書講解,如果有興趣可以看看相關書籍,比如:《c++ 標準程式庫》、侯捷同學的《stl原始碼剖析》等,如果瞭解標準庫的使用的話,《c++ primer》等很多書籍中也都有講解;

對於vector簡單介紹兩句吧:vector 使用的了c++中的模版機制,定義了一套對應的介面函式進行操作;

例如定義一個放置unsigned int型別的陣列:

#include

typedef std::vector< unsigned int > uintarray;

uintarray m_arraya;

迴圈從陣列最後新增10個元素:

unsigned int untmp, uncount = 0;

for( untmp = 0; untmp < uncount ; untmp++ )

刪除所有元素:

m_array.clear();

還有很多函式,以及iterator。

不知道我回答的是不是你問的,不過希望你以後提問題,描述清楚一些,讓解答人能明確你的問題!

5樓:匿名使用者

1、使用malloc函式,先分配第一維的大小,然後再迴圈分配每一維的大小。

2、例程,分配3行4列二維陣列:

#include

#include

int main()

//初始化

for (i = 0; i < 3; ++i)}//輸出測試

for (i = 0; i < 3; ++i)printf ("\n");

}//釋放動態開闢的空間

for (i = 0; i < 3; ++i)free(a);

return 0;}/*

輸出:0 1 2 3

1 2 3 4

2 3 4 5*/

6樓:融斯力穎慧

假設你的資料時int型的。

int*p

=null;

intn;scanf("%d",&n);p=

malloc(n,

sizeof(int));

//這樣分配了n個int型資料的空間,並且p指向空間首地址排序那個就自己採用一種排序方法吧。操作p可以說是跟操作一個陣列一樣的p[0]就是第一個元素。p[n-1]就是陣列最後一個元素。。

最後呼叫free(p)釋放掉申請的記憶體

7樓:匿名使用者

陣列的大小,c與c++應當都是固定的。

只不過指標可以用malloc和realloc進行擴容。

如int *p=(int *)malloc(10*sizeof(int));

p=(int *)realloc(1000*sizeof(int));

8樓:

c語言中陣列也一樣可以通過動態分配得到

用malloc(個數*sizeof( ))calloc(個數,sizeof( ))都可以

9樓:匿名使用者

int *ary=null, *pa;

int n;

pa=new int [n];

這樣就可以了

10樓:匿名使用者

t;>n;

int **arr = new int*[m];

for(int i=0; i

用c語言程式設計統計學生成績大於等於90的為a小於

include int main else if score 80 else if score 70 else if score 60 else include stdio.h int main void if x 60 x 70 if x 70 x 80 if x 80 x 90 if x 90 ...

用Excel建立學生成績表,要按照班級統計出某門課程的總分,需要使用的方法

d 分類彙總 就是把課程作為類,分類進行彙總。用excel 2003建立一個反應學生各門課程成績表要按照班級統計出某門課程的平均分需要使用的方式是?資料統計表是個強有力的資料工具,建議去買本excel出品的 資料透視表大全 保證你獲益良多。有辦公excel方面的試題啊 1.利用excel編輯一份班級...

用c語言求n的階層程式怎麼寫,用C語言求N的階層。程式怎麼寫

1 使用遞迴演算法 include include long factorial int n else if n 0 n 1 else return result main 2 使用迴圈 include include int main while i k printf ld n j system ...