第1 題:計算日期的差值
(1)編寫一函式,計算兩個日期之間的時間差,並將其值返回。
日期以年、月、日表示。
「時間差」以天數表示。
注意考慮日期之間的閏年。
函式的輸入引數為日期1和日期2,
函式的返回值為時間差,單位為天數。
(2)編寫一程式,在主函式中輸入兩個日期,呼叫上述函式計算兩個日期之間的時間差,並
將結果輸出。
為了計算簡便,假設使用者輸入的日期1總是早於日期2。
參考**:
#include
struct date
;int isleap(int year);
int dif(struct date a, struct date b);
void main()
int isleap(int year) //判斷乙個年份是否是閏年的函式
int dif(struct date a, struct date b)
,};// day變數為年份a到年份b前一年的年份總天數
for(i=a.year; iif(isleap(i))
day += 366;
else
day += 365;
// day1變數為年份a年初到當天的年內總天數
for(i=1; iday1 += d[isleap(a.year)][i];
day1 += a.day;
// day1變數為年份b年初到當天的年內總天數
for(i=1; iday2 += d[isleap(b.year)][i];
day2 += b.day;
return day + day2 - day1;
}參考截圖:
第2 題:結構體陣列應用
請定義乙個描述學生基本資訊的結構,包括姓名,學號,籍貫,身份證號,年齡,家庭
住址,性別,****等。並定義乙個結構體陣列。程式設計:
a) 編寫函式 input() , 輸入基本資訊(3~5 條記錄);
b) 編寫函式 print(),輸出全體記錄資訊;
c) 編寫函式 search(), 檢索乙個指定的學生資訊並返回, 由主函式列印到螢幕上;
d) 說明,訪問結構的時候,什麼時候應該用運算子「.」,什麼時候應該用運算子「->」。
(運算子前是結構體變數時用「.」,是指向結構體變數的指標時用「->」)
參考**:
#include
#include
#define n 3 //增加程式的可擴充套件性
struct student
stu[n];
void input(struct student stu);
void print(struct student stu);
void search(struct student stu, char name);
void main()
void input(struct student stu)
}void print(struct student stu)
void search(struct student stu, char name)
if(flag == 0)
printf("沒有該學生的資訊!\n\n");
}參考截圖:
第3 題:一元多項式加法
編寫一元多項式加法器,輸入兩個一元稀疏多項式,然後對它們進行加法操作。
在具體實現上,要求用線性鍊錶形式來儲存乙個多項式,每個鍊錶的節點包括兩個成員
變數,係數和指數(均為整數)。例如
a(x) 75 30x 95x8 50x9, b(x) 80x 25x7 90x8
可以用下面的鍊錶表示:
說明:(1) 每個鍊錶節點都是根據需要動態建立的;
(2) 程式採用多函式形式來實現,至少包括建立鍊錶、列印鍊錶、加法函式等。
(3) 多項式係數可正、可負;指數肯定是非負整數,且按照遞增順序排列
輸入格式:第一行是乙個整數m,表示第乙個多項式的項數。
接下來有m行,每行有兩個整數ci和ei,分別表示第i項的係數和指數。
再接下來是輸入第二個多項式,方法同第乙個多項式輸入。
輸出格式:輸出兩個多項式相加的結果。第一行是整數k,表示新多項式的項數。
接下來有k行,每一行為兩個整數,分別代表係數和指數。
參考**:
#include
#include
#define len sizeof(struct polynomial)
struct polynomial
;struct polynomial *create(int);
void print(struct polynomial *);
struct polynomial *add(struct polynomial *, struct polynomial *);
void main()
printf("\n相加後的多項式項數為:%d\n", n);
printf("\n相加後的多項式為:\n");
print(p0);
}struct polynomial *create(int m)
{struct polynomial *p1, *p2, *head=null;
p1 = p2 = (struct polynomial *) malloc(len);
scanf("%d %d", &p1->a, &p1->x);
head = p1;
for(int i=1; i{
p1 = (struct polynomial *) malloc(len);
短語結構練習題
1 指出下列短語的結構 1 風俗習慣 2 變化規律3 歷史悠久 4 整修一新 5 交頭接耳6 思維敏捷 7 廢寢忘食 8 前程遠大9 全神貫注 10 襟懷坦白 11 揮手之間 12 愚公移山 13 競選州長 14 銷售計畫 15 色彩繽紛 16.交通規則 17 風和日麗18 激動不已 19.禁止吸菸...
工程結構練習題
混凝土結構設計原理 練習題2 一 選擇題 1分 10 10分 1 對於有流幅的鋼筋,混凝土結構設計規範 取 作為鋼筋設計強度的取值。a 彈性極限 b 屈服強度 c 極限強度 d 條件屈服強度 2 受彎構件在正截面工作的第一階段末期,即將開裂的 a狀態時,鋼筋的應力大約為 a 5 10mpa b 20...
C語言程式設計練習題之陣列與結構體
在每小題列出的四個備選項中只有乙個是符合題目要求的。1 若有定義int a 4 則a a 0 2 a 2 a 3 等於 a 1 b 2 c 3 d 4 2 設有陣列定義 char array china 則陣列 array所佔的空間為 a 4個位元組 b 5個位元組 c 6個位元組 d 7個位元組 ...