【六六互联】长期出售【美国抗投诉服务器】【欧洲抗投诉服务器】【亚洲抗投诉服务器】

文件的读和写是最常用文件操作。在C语言中提供了多种文件读写的函数: 

  • 字符读写函数   :fgetc和 fputc 

  • 字符串读写函数:fgets和 fputs 

  • 数据块读写函数:freed和 fwrite 

  • 格式化读写函数:fscanf 和fprinf

格式化文件输入与输出应用案例

【案例描述】

编程实现输入一个正整数,输出其为全部质因数的乘积。

输入:900

输出:900=2×2×3×3×5×5

【案例分析

输出正整数m为其全部质因数的乘积的基本思路是:

1、从最小的可能因子2开始搜索:k=2

2、如果m不能被k整除,则转步骤4

3、输出质因数k,m=m/k,转步骤2

4、k=k+1

5、如果k<=m,转步骤2

6、结束

格式化文件输入与输出应用案例

说明:

以上算法没有判断k是否为质数。这是因为,当找到最小的正整数k(k>1)是m的约数时,k一定是质数。如:m=900

(1)k=2,是900的因数,也肯定是900的质因数:m=900/2=450

(2)2是450的质因数:m=450/2=225

(3)2不能整除255,k=k+1后k=3

(4)3是255的因数,也是900的质因数:m=255/3=85

(5)3是85的质因数:m=85/3=25

(6)3不能整除25,k=k+1后k=4

(7)4不能整除25,k=k+1后k=5

(8)5是25的质因数,也是900的质因数:m=25/5=5

(9)5是5的质因数:m=5/5=1

(10)k<=m不再成立,输出结束。

【参考代码】

main()

{ int k,m,f=0;             //f用于确定是否找到质因数

  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);

}