源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main(void)
{
const int n = 25;//定义成绩数量
int number[n];//定义存放成绩的数组
int p=0;
int flage=0;//标志变量
char Data[256];//定义存文件用的变量
FILE *pos;//定义一个文件指针
int ii = 0;//用于判断换行的变量
for (int i = 0; i <= 100; i++)//循环遍历
{
if (2 == i || 3 == i)//2,3都是素数
{
printf("%d\t", i);//打印
ii++;
flage = 1;//标志置位
}
for (int j = 2; j <= i / 2; j++)//判断
{
if (0 == i % j)
break;
if (i / 2 == j)
{
printf("%d\t", i);//打印
flage = 1;//标志置位
ii++;
}
if (ii == 5)//如果五个了进行换行
{
ii = 0;
printf("\n");
}
}
if (flage == 1)//标志置位则存到数组中
{
number[p] = i;
p++;
flage = 0;
}
}
if (pos = fopen("data.txt", "w+"))//写文件
{
for (int i = 0; i < n; i++) //循环写入
{
sprintf(Data, "%d\n", number[i]);//写入文件成绩
if ((i + 1) % 5 == 0)
cout << endl;
fputs(Data, pos);
}
fclose(pos);//关闭保存文件
}
return 0;
}
程序运行结果如下:
写入文件结果如下:
扩展资料:
【程序示例】从键盘输入一行字符,写入文件。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int main(){
FILE *fp;
char ch;
//判断文件是否成功打开
if( (fp=fopen("D:\\demo.txt","wt+")) == NULL ){
printf("Cannot open file, press any key to exit!\n");
getch();
exit(1);
}
printf("Input a string:\n");
//每次从键盘读取一个字符并写入文件
while ( (ch=getchar()) != '\n' ){
fputc(ch,fp);
}
fclose(fp);
return 0;
}
说明:运行程序,输入一行字符并按回车键结束,打开D盘下的demo.txt文件,就可以看到刚才输入的内容。程序每次从键盘读取一个字符并写入文件,直到按下回车键,while 条件不成立,结束读取。