這個c語言程式為什麼執行結果出錯結構體每個

2022-03-03 22:35:43 字數 4579 閱讀 7154

1樓:問明

#include

void main()

float a[10][10];//用來存放10名學生的5門成績,最後一位用於存放平均成績

int i,j;

float sum=0.0;

for(i=0;i<10;i++)

printf("請輸入第%d個學生的5門成績",i+1);

for(j=0;j<5;j++)

scanf("%f",&a[j]);

sum=sum+a[j];

a[10]=sum/5.0;

printf("10名學生的成績及平均分\n");

for(i=0;i<10;i++)

for(j=0;j<10;j++)

printf("%.3f",a[j]);

printf("\n");

printf的用法

格式printf函式的原型為:

#include

int printf(const char*format,...);

在講每一個函式的時候都會先把它的函式原型寫出來,這個原型你們現在看不懂不要緊,等到學完c語言之後再來看這個原型就會發現它是很有參考意義的!它對深刻理解函式有著很大的價值。

printf的格式有四種:

1)printf("字串\n");

#include

int main(void)

printf("hello world!\n");//\n表示換行

return 0;

其中\n表示換行的意思。它是一個轉義字元,前面在講字元常量的時候見過。其中n是「new line」的縮寫,即「新的一行」。

此外需要注意的是,printf中的雙引號和後面的分號必須是在英文輸入法下。雙引號內的字串可以是英文,也可以是中文。

2)printf("輸出控制符",輸出引數);

純文字複製

#include

int main(void)

int i=10;

printf("%d\n",i);/*%d是輸出控制符,d表示十進位制,後面的i是輸出引數*/

return 0;

2樓:風若遠去何人留

一、題目分析:

要計算每個學生的平均成績,需要獲取如下資訊:

1、學生總數;

2、科目數;

3、每個學生每科的成績。

然後累加每個學生的總分,並計算總成績。

二、演算法設計:

1、輸入學生總數;

2、輸入科目數;

3、對於每個學生,輸入各科成績,計算總分及平均分,儲存平均分值。

4、輸出結果。

#include

#include

int main()

p[i]/=m;//計算平均分。

}for(i = 0; i < n; i ++)//輸出結果。

printf("%f\n", p[i]);

free(p);//釋放記憶體。

return 0;}

c語言程式設計程式設計題目:請 :編寫完成對學生相關資訊的要求:1.定義一個結構體型別student,其中包括三個成

3樓:匿名使用者

c語言課程設計任務書

一、題目: 學生成績管理

二、目的與要求

1. 目的:

(1)基本掌握程序導向程式設計的基本思路和方法;

(2)達到熟練掌握c語言的基本知識和技能;

(3)能夠利用所學的基本知識和技能,解決簡單的程式設計問題

2. 要求

基本要求:

1. 要求利用c語言程序導向的程式設計思想來完成系統的設計;

2. 突出c語言的函式特徵,以多個函式實現每一個子功能;

3. 畫出功能模組圖;

4. 進行簡單介面設計,能夠實現友好的互動;

5. 具有清晰的程式流程圖和資料結構的詳細定義;

6. 熟練掌握c語言對檔案的各種操作。

創新要求:

在基本要求達到後,可進行創新設計,如系統使用者功能控制,對管理員級和一般級別的使用者系統功能操作不同

三、資訊描述

輸入一個班10個學生的學號和每個學生考試三門功課(數學、英語、計算機基礎)的成績。程式設計計算出每個學生的總分和平均分,並按學生成績優劣排序,最後列印一張按高分到低分名次排序的成績單。要求:

1)排序用一個函式實現。

2)列印的成績單表項包括:序號,學號、數學、英語、計算機、總分、平均分。

3)按實驗報告電子模板格式填寫實驗內容。

四、功能描述

1. 學生基本資訊及成績所選科目成績的錄入。

2. 基本資訊的查詢(分系、班級;分科目)與修改。

3. 對每系或每班各科成績進行分析(即求單科平均成績、及格率和優秀率);

4. 對所開課程的成績分析(求其平均成績,最高分和最低分);

5. 對學生考試成績進行排名(單科按系別或班級進行排名,對每一個班級,同一學期學生總體成績進行排名,並顯示各科成績資訊)

五、解決方案

1. 分析程式的功能要求,劃分程式功能模組。

2. 畫出系統流程圖。

3. **的編寫。定義資料結構和各個功能子函式。

4. 程式的功能除錯。

5. 完成系統總結報告以及使用說明書

六、進度安排

此次課程設計時間為兩週,分四個階段完成:

1. 分析設計階段。指導教師應積極引導學生自主學習和鑽研問題,明確設計要求,找出實現方法,按照需求分析、總體設計、詳細設計這幾個步驟進行。

2. 編碼除錯階段:根據設計分析方案編寫c**,然後除錯該**,實現課題要求的功能。

3. 總結報告階段:總結設計工作,寫出課程設計說明書,要求學生寫出需求分析、總體設計、詳細設計、編碼、測試的步驟和內容。

4. 考核階段。

#include

#include

#define stu_num 10 /*巨集定義學生的數量*/

struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/

; /*排序用一個函式來實現*/

void sortscore(student *stu,int n) }

} int main( )

c語言規定:定義時用a[10],表示a陣列有10個元素。其下標值由0開始,所以陣列元素a[10]是不存在的。

16.初始化陣列時,未使用靜態儲存。

int a[3]=;

這樣初始化陣列是不對的。c語言規定只有靜態儲存(static)陣列和外部儲存(exterm)陣列才能初始化。應改為:

static int a[3]=;

17.在不應加地址運算子&的位置加了地址運算子。

scanf("%s",&str);

c語言編譯系統對陣列名的處理是:陣列名代表該陣列的起始地址,且scanf函式中的輸入項是字元陣列名,不必要再加地址符&。應改為:

scanf("%s",str);

18.同時定義了形參和函式中的區域性變數。

int max(x,y)

int x,y,z;

形參應該在函式體外定義,而區域性變數應該在函式體內定義。應改為:

int max(x,y)

int x,y;

c語言心得體會

通過這次實訓,增加了我學習軟體技術的興趣,雖然還不明確軟體技術包含的具體內容,但從c語言這門課程開始,已發現程式設計的樂趣,在學習c語言的過程中也學到了許多計算機應用基礎知識,對計算機的機體也有了一個大體的瞭解。

這次實訓是老師給了範例程式,經過自己的改寫,實現要求。先做簡單的輸出,一步步的再做其它圖案,在實際操作過程中犯的一些錯誤還會有意外的收穫,感覺實訓很有意思。在具體操作中對這學期所學的c語言的理論知識得到鞏固,達到實訓的基本目的,也發現自己的不足之出,在以後的上機中應更加註意,同時體會到c語言具有的語句簡潔,使用靈活,執行效率高等特點。

發現上機實訓的重要作用,特別是對陣列和迴圈有了深刻的理解。

通過實際操作,學會 c語言程式程式設計的基本步驟、基本方法,開發了自己的邏輯思維能力,培養了分析問題、解決問題的能力。深刻體會到「沒有做不到的,只有想不到的」,「團結就是力量」,「實踐是檢驗真理的標準」,「不恥下問」……的寓意。

計時在此希望以後應多進行這樣的實訓,加長設間,培養學生獨立思考問題的能力,提高實際操作水平。

八、參考資料 :《c語言程式設計教程》

c語言程式設計,用結構體編學生成績系統

4樓:匿名使用者

你好!vc6 下執行嗎?程式什麼時間要

c語言:結構體:有3個學生,每個學生的資料包括學號、姓名、3門課的成績,要求輸出3門課總平均成績

5樓:匿名使用者

定義抄了char number[3],所以只儲存前

襲三個字元,而你printf時卻要bai輸出6個,就連名字那前du三個字元zhi也輸出了。比如dao第一個資訊,學號只存成了b13,後面寫的沒有存入,姓名存了sdf,因為name跟在number之後,所以你在輸出六個字元,就成了b13sdf

c語言結構體與共用體 編寫程式,有10個學生,每個學生的資料包括:學號,姓名,3門課程的成績,輸

學習c語言,程式的執行結果不知為什麼

巨集定義出了問題,define s x x x define f x x x 是不正確的,應該改成 define s x x x define f x x x 要不進行 1000 s n j 1000 f n 的時候,是1000先除於x,再乘於x,那得到的值當然是1000了.因為你沒加括號。defi...

C語言以下程式的執行結果是

答案錯誤。應該11。或者 有誤。void main if j 2 0 j 10,所以滿足條件,執行j 20後,j 200。繼續迴圈。printf d n i 最終結束迴圈的條件是i 1000,故i輸出為1001,與j無關 i 10,j 10 j 200,i 11 程式結束 怎麼會是1001?是11啊...

C語言請問下面程式執行結果是什麼

答案為 5 7 因為你定義了全域性變數 a b 在函式fun 內對全域性變數a b進行了修改,專 而你又在main函式裡定義了兩個屬區域性變數 a b 這樣,你定義的全域性變數就會被著兩個區域性變數遮蔽,即不起作用,如果你在註釋掉定義區域性變數的語句 如下 int a,b void fun main...