C語言練習題

2021-07-25 10:52:13 字數 2563 閱讀 3275

8

. 編寫乙個程式,將字串str2中的全部字元複製到字串str1中。要求:不能使用strcpy函式。(12分)

#include

#definemaxlen 20

//假設

str2

的長度不超過

str1

的長度

voidstrcopy(char *str1,char *str2)

intmain()

9. 3(20分)從鍵盤輸入某班20個學生的成績,統計不及格學生的人數。然後將這20個學生的成績用選擇排序法 來進行排序(以從低到高的順序)。 

要求按如下函式原型進行程式設計,分別統計不及格學生的人數和排序功能。

int countfail(int score, int n); 

(6分)

void selectionsort(intscore, int n);  (8分)

在main函式中呼叫以上函式,並輸出結果。 (6分)

#include

intcountfail(int score, int n);

voidselectionsort(int score, int n);

intmain()

intcountfail(int score, int n)

voidselectionsort(int score, int n)

tmp  = score[min];

score[min]= score[i];

score[i]= tmp; }

} 10.

(20分)利用結構體變數記錄某公司每個職工的姓名、年齡、編號和性別。先根據使用者的輸入建立乙個結構體陣列來存放職工的資訊,然後輸出各個職工的資訊:

(1)對職工的編號按公升序進行排序,並將排序後的職工資訊寫入到檔案employee.txt檔案中;(10分)

(2)按職工編號檢索職工資訊,如果找到,則輸出該職工相關資訊,否則輸出「don』t find the corresponding message!」。(10分)

#include

#include

#include

struct employee{

charname[10];

intage;

intid;

int***;

void employee_sort(struct employeepersons, int n)

intmin;

structemployee tmp;

for(inti=0;imin= i;

for(intj=i+1;jif(persons[j].idmin= j;

structemployee tmp;

memcpy(&tmp,persons+min,sizeof(structemployee));

memcpy(persons+min,persons+i,sizeof(structemployee));

memcpy(persons+i,&tmp,sizeof(structemployee));

file*fp = fopen("employee.txt","a");   

for(intk=0;kfprintf(fp,"%s%d %d %d\n",persons[k].name,persons[k].age,persons[k].id,persons[k].***);

fclose(fp);

void employee_search(struct employeepersons,int n,int id)

intflag = 1;

for(intk=0;kif(persons[k].id==id){

printf("%s%d %d %d\n",persons[k].name,persons[k].age,persons[k].id,persons[k].***);                               

flag= 0;

if(flag)

printf("don』tfind the corresponding message!");

int main()

intnumber;

printf("輸入員工數:");

scanf("%d",&number);

printf("輸入每個員工的資訊:姓名 年齡 編號 性別(1表示男0表示女)\n");

structemployee *persons = (struct employee *)malloc(sizeof(struct employee)*number);

for(inti=0;iscanf("%s",&persons[i].name);

scanf("%d%d%d",&persons[i].age,&persons[i].id,&persons[i].***);

employee_sort(persons,number);

intid;

printf("輸入要查詢的員工編號:");

scanf("%d",&id);

employee_search(persons,number,id);

return0;

C語言練習題

1.保密電文 某電報局的電文保密規律是將每個英文本母變成其後的第4個字母,例如a變成e,a變成e。最後四個字母 w,x,y,z或w,x,y,z 變成前四個字母 a,b,c,d或a,b,c,d 電文中的非字母字元不變。要求 輸入一行字串,輸出改變的字串。程式分析 題目程式 include intmai...

c語言練習題1

1 編寫乙個程式實現求圓形的面積,使用者自己輸入半徑?s pi r r include define pi 3.14 int main int argc,const char argv 2 編寫乙個遞迴函式,求乙個整數的2進製形式。include void calc int n int main i...

C語言練習題複習

1.日本某地發生了一件 案,警察通過排查確定殺人 必為4個嫌疑犯的乙個。以下為4個嫌疑犯的供詞。a說 不是我。b說 是c。c說 是d。d說 c在胡說 已知3個人說了真話,1個人說的是假話。現在請根據這些資訊,寫乙個程式來確定到底誰是 2.列印楊輝三角 3.輸出乙個整數的二進位制序列 define c...