對文件的讀和寫是最常用的文件操作。在C語言中提供了多種文件讀寫的函數(shù):
字符讀寫函數(shù) :fgetc和 fputc
字符串讀寫函數(shù):fgets和 fputs
數(shù)據(jù)塊讀寫函數(shù):freed和 fwrite
格式化讀寫函數(shù):fscanf 和fprinf

【案例描述】
編程實現(xiàn):輸入一個正整數(shù),輸出其為全部質因數(shù)的乘積。
輸入:900
輸出:900=2×2×3×3×5×5
【案例分析】
輸出正整數(shù)m為其全部質因數(shù)的乘積的基本思路是:
1、從最小的可能因子2開始搜索:k=2
2、如果m不能被k整除,則轉步驟4
3、輸出質因數(shù)k,m=m/k,轉步驟2
4、k=k+1
5、如果k<=m,轉步驟2
6、結束

說明:
以上算法沒有判斷k是否為質數(shù)。這是因為,當找到最小的正整數(shù)k(k>1)是m的約數(shù)時,k一定是質數(shù)。如:m=900
(1)k=2,是900的因數(shù),也肯定是900的質因數(shù):m=900/2=450
(2)2是450的質因數(shù):m=450/2=225
(3)2不能整除255,k=k+1后k=3
(4)3是255的因數(shù),也是900的質因數(shù):m=255/3=85
(5)3是85的質因數(shù):m=85/3=25
(6)3不能整除25,k=k+1后k=4
(7)4不能整除25,k=k+1后k=5
(8)5是25的質因數(shù),也是900的質因數(shù):m=25/5=5
(9)5是5的質因數(shù):m=5/5=1
(10)k<=m不再成立,輸出結束。
【參考代碼】
main()
{ int k,m,f=0; //f用于確定是否找到質因數(shù)
scanf("%d",&m);
printf("%d=",m);
for(k=2;k<=m;k++)
for(;m%k==0;m/=k)
if(f==0){f=1;printf("%d",k);}
else printf("×%d",k);
}