2改錯題 30分,壹般兩到三處錯誤,錯誤範圍題目會指定
3.操作題 40分,編壹個函數,以實現題目要求的功能。
填空題
程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。所有學生數據以二進制方式輸出的文件中。函數fun的功能是重寫形參filename所指文件中最後壹個學生的數據,即用新的學生數據覆蓋該學生原來的數據,其它學生的數據不變。
請在程序的下劃線處填入正確的內容並把下劃線刪除,使程序得出正確的結果。
註意:源程序存放在考生文件夾下的BLANK1。C中。
不得增行或刪行,也不得更改程序的結構!
/**********found**********/
fp = fopen(filename, "rb+");
/**********found**********/
fseek(fp, -1L*sizeof(STU), SEEK_END);
/**********found**********/
fwrite(&n, sizeof(STU), 1, fp);
fclose(fp);
改錯題
給定程序MODI1。C中的函數CreatLink的功能是創建帶頭結點的單向鏈表,並為各結點數據域賦0到m-1的值。
請改正函數CreatLink中指定部位的錯誤,使它能得出正確的結果。
註意:不要改動main函數,不得增行或刪行,也不得更改程序的結構
/**********found***********/
p=(NODE *)malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=1; i<=n; i++)
{ s=(NODE *)malloc(sizeof(NODE));
s->data=rand()%m; s->next=p->next;
p->next=s; p=p->next;
}
/**********found***********/
return h;
程序編寫
請編寫函數fun,函數的功能是:統計壹行字符創中單詞的個數,作為函數值返回。壹行字符串在主函數中輸入,規定所有單詞由小寫字母組成,單詞之間由若幹個空格隔開,壹行的開始沒有空格。
註意:部分源程序存在文件PROG1.C文件中。
請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入妳編寫的若幹語句。
int fun( char *s)
{
int k = 1 ;
while(*s) {
if(*s == ' ') k++ ;
s++ ;
}
return k ;
}