C資料結構 檔案輸出錯誤亂碼是什麼情況?

2021-09-24 03:32:56 字數 1273 閱讀 4098

c語言 檔案輸出錯誤亂碼是什麼情況?

#include #include #include #include typedef struct studentstudent, *stu;

int main()

stu l = (stu)malloc(sizeof(student)); //l是煉表頭節點

l->next = null; //申請新節點後next域一定要置空

while(!feof(fp))

else if(p->next->gender == s->gender && p->next->score > s->score)

else break;

}// 插入新節點

s->next = p->next;

p->next = s;

}fclose(fp);

file *fp2 = fopen("./result.txt", "w");

stu q = l->next;

int cnt_w = 0, cnt_m = 0, p_w = 0, p_m = 0, sum = 0;//分別表示女生總人數,男生總人數,女生合格人數,男生合格人數,總分

while(q)

else

sum += q->score;

fprintf(fp2, " %s %d\n", q->name, q->score);

q = q->next;

}fprintf(fp2, "男生合格率為%.3f%%,女生合格率為%.3f%%,全班平均分為%.3f。\n", p_m*1.0/cnt_m*100, p_w*1.0/cnt_w*100, sum*1.0/(cnt_m+cnt_w));//合格率列印

fclose(fp2);

return 0;

}

輸入檔案為data.txt

1820001 zh m 77

1820002 qi w 47

1820003 zh m 90

1820004 li w 78

1820005 wa m 59

而最後輸出的是:

1820003 男 zh 90

鍩?820001zh 男 zh 77

1820000 男 wa 59

1820004 女 li 78

1820002 女 qi 47

男生合格率為66.667%,女生合格率為50.000%,全班平均分為70.200。

鍩? 這是個什麼東西,就是去不掉,應該是1。求解,用的codeblocks

基於C語言資料結構 一些錯誤

include stdio.h include malloc.h define maxsize 50 typedef char elemtype typedef struct lnode linklist void initlist linklist l void getelem linklist ...

大話資料結構C語言 23 什麼是樹?

之前的資料結構都是一對一的線性結構,而樹是一對多的資料結構 樹是有n個結點的有限集,n 0時稱為空樹 在任何一棵非空樹中,有且僅有乙個特定的稱為根的結點 當n 1時,其餘結點可分為m個互不相交的有限集,其中每乙個集合本身又是一棵樹,並且稱為根的子樹,如下圖 樹的定義其實就是之前提到的棧的遞迴的方法,...

c資料結構棧的基本操作(字元逆序輸出)

線性棧 輸入字元,再輸出 include stdafx.h include include define stack size 100 define stackincreament 10 define error 0 define ok 1 define overflow 2 typedef int...