C語言面試題

2021-10-06 19:26:07 字數 1497 閱讀 3642

1.求某一年的某一天

#includestruct sdate

;int main()

; int i = 0, nday = dt.nday;

while (i2)

++nday;

} printf("這是%d年的第%d天\n",dt.nyear,dt.nday);

return 0;

}

將列印和演算法抽象成不同函式

#includestruct sdate

;void input(sdate* p)

int caculate(sdate *p)

; int i = 0, nday = p->nday;

while (inday - 1)

if (p->nyear % 4 == 0 && p->nyear % 100 || p->nyear % 400 == 0)

return nday;

}int main()

2.建立乙個結構體,並對結構成員中某個變數進行排序

#include#includestruct suser

;void input(suser*p)

}void print(suser *p)

}void sort(suser *p)

++j;

} ++i; }}

int main()

, ,

, ,

};*/

suser su[5];

input(su);

sort(su);

print(su);

return 0;

}

3.選擇排序和氣泡排序法(一般選擇排序法比氣泡排序法效率高)

#include//選擇排序法比氣泡排序法效率高

void selectsort(int a)//選擇排序

if (nmin != i)

++i; }}

void sort(int a)//氣泡排序

++j;

} ++i; }}

int main()

; puts("排序前:");

for (size_t i = 0; i < sizeof(a) / sizeof(a[0]); i++)

printf("\n");

selectsort(a);

puts("選擇排序後");

for (size_t i = 0; i < sizeof(a) / sizeof(a[0]); i++)

printf("\n");

sort(a);

puts("氣泡排序後");

for (size_t i = 0; i < sizeof(a)/sizeof(a[0]); i++)

return 0;

}

C語言面試題

基礎篇 1 區域性變數能否和全域性變數重名?可以2 如何引用乙個已經定義過的全域性變數?直接呼叫並初始化 3 全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?可以,6 堆和棧有什麼區別?7 什麼是預編譯,何時需要預編譯 8 c和c 中的struct有什麼不同?9 memset me...

C語言面試題

1.要求使用一維陣列,輸入10名同學的序號和成績,並進行排序。題目1196 成績排序 題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入 輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。輸出 按照學生的成績從小到...

C語言面試題之華為面試題

1 區域性變數能否和全域性變數重名?答 能,區域性會遮蔽全域性。要用全域性變數,需要使用 區域性變數可以與全域性變數同名,在函式內引用這個變數時,會用到同名的區域性變數,而不會用到全域性變數。對於有些編譯器而言,在同乙個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義乙個同名的區域性變數...