第九周作業

2022-06-29 12:12:10 字數 3685 閱讀 3347

課程名稱

c語言程式設計2

作業要求

第九周作業

我的課程目標

學習使用結構

這個作業在哪個方面幫助我實現目標

進一步學習使用結構

參考文獻

課本c語言程式設計

本題要求實現乙個根據學生成績設定其等級,並統計不及格人數的簡單函式。

函式介面定義:

int set_grade( struct student *p, int n );

其中p是指向學生資訊的結構體陣列的指標,該結構體的定義為:

struct student;

n是陣列元素個數。學號num、姓名name和成績score均是已經儲存好的。set_grade函式需要根據學生的成績score設定其等級grade。等級設定:85-100為a,70-84為b,60-69為c,0-59為d。同時,set_grade還需要返回不及格的人數。

裁判測試程式樣例:

#include #define maxn 10

struct student;

int set_grade( struct student *p, int n );

int main()

count = set_grade(ptr, n);

printf("the count for failed (<60): %d\n", count);

printf("the grades:\n");

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

printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade);

return 0;

}/* 你的**將被嵌在這裡 */

輸入樣例:

1031001 annie 85

31002 bonny 75

31003 carol 70

31004 dan 84

31005 susan 90

31006 paul 69

31007 pam 60

31009 nancy 100

31010 bob 78

輸出樣例:

the count for failed (<60): 1

the grades:

31001 annie a

31002 bonny b

31003 carol b

31004 dan b

31005 susan a

31006 paul c

31007 pam c

31009 nancy a

31010 bob b

(1)實驗**
int set_grade(struct student *p,int n)

else if(p[i].score>=70&&p[i].score<85)

else

} return c;

}

(2)設計思路

流程圖(3)實驗遇到的問題及解決方案

(4)執行結果截圖

「一幫一學習小組」是中小學中常見的學習組織方式,老師把學習成績靠前的學生跟學習成績靠後的學生排在一組。本題就請你編寫程式幫助老師自動完成這個分配工作,即在得到全班學生的排名後,在當前尚未分組的學生中,將名次最靠前的學生與名次最靠後的異性學生分為一組。

輸入格式:

輸入第一行給出正偶數n(≤50),即全班學生的人數。此後n行,按照名次從高到低的順序給出每個學生的性別(0代表女生,1代表男生)和姓名(不超過8個英文本母的非空字串),其間以1個空格分隔。這裡保證本班男女比例是1:1,並且沒有並列名次。

輸出格式:

每行輸出一組兩個學生的姓名,其間以1個空格分隔。名次高的學生在前,名次低的學生在後。小組的輸出順序按照前面學生的名次從高到低排列。

輸入樣例:

80 amy

1 tom

1 bill

0 cindy

0 maya

1 john

1 jack

0 linda

輸出樣例:

amy jack

tom linda

bill maya

cindy john

(1)實驗**
#include#includestruct t;

int main()

if(flag==1)

break;}}

else if(c[i].a==1)

if(flag==1)

break;}}

}return 0;

}

(2)設計思路

(3)實驗遇到的問題及解決方案

問題1:字串取邊界,最大n

解決1:結構體中定義的陣列name[8]改為name[9]即可。

(4)執行結果截圖

每個 pat 考生在參加考試時都會被分配兩個座位號,乙個是試機座位,乙個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態後,系統會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿著領到的試機座位號碼求助於你,從後台查出他們的考試座位號碼。

輸入格式:

輸入第一行給出乙個正整數 n(≤1000),隨後 n 行,每行給出乙個考生的資訊:准考證號 試機座位號 考試座位號。其中准考證號由 16 位數字組成,座位從 1 到 n 編號。輸入保證每個人的准考證號都不同,並且任何時候都不會把兩個人分配到同乙個座位上。

考生資訊之後,給出乙個正整數 m(≤n),隨後一行中給出 m 個待查詢的試機座位號碼,以空格分隔。

輸出格式:

對應每個需要查詢的試機座位號碼,在一行中輸出對應考生的准考證號和考試座位號碼,中間用 1 個空格分隔。

輸入樣例:

43310120150912233 2 4

3310120150912119 4 1

3310120150912126 1 3

3310120150912002 3 2

23 4

輸出樣例:

3310120150912002 2

3310120150912119 1

(1)實驗**
#includestruct s

;int main ()

{ int i,j,n;

struct s c[1001];

scanf("%d",&n);

for(i=0; i(2)設計思路

(3)實驗遇到的問題及解決方案

問題太多

解決:在室友的幫助下解決。

(4)執行結果截圖

自己對結構的理解還不是太好,缺漏很多,需要多加複習理解,希望自己能有提高。

由於我們倆都很差,鎖業在套路前面基本的內容加深理解。

第九周作業

1 編寫指令碼,接受二個位置引數,magedu和 www,判斷系統是否有magedu,如果沒有則自動建立magedu使用者,並自動設定家目錄為 www vim create user.sh bin bash if ne 2 then echo 0 username directory exit 1 ...

第九周作業

cat data canshu.sh bin bash user 1 dir 2if 2 then echo 請輸入兩個引數 exit else id dev null if 0 then mkdir dev null useradd d dev null echo 使用者 建立成功 else ec...

第九周作業

資料庫介紹 建立與資料庫的鏈結 建立並修改資料庫表 查詢資料庫 插入 檢視及更新資料 刪除資料和資料庫表 statistics.sh指令碼的執行結果截圖 20162309 行數 新增 累積 部落格量 新增 累積 學習時間 新增 累積 重要成長 目標5000行 400小時 第一周90 90 1 120...