第1个回答 2006-03-04
#include <stdio.h>
#include <stdlib.h>
void main()
{
FILE *fp;
char filename[10],ch;
int num,a1,a2;
printf("Please input the name of the file you want to create:");
scanf("%s",filename);
if ( (fp = fopen(filename,"wb+")) == NULL;
{
printf("Error: can not open file.\n");
exit(0);
}
//随机生成1000个数,然后保存到文件中
for ( int i = 0; i < 1000; ++i)
{//以下两个函数是在网上查的,没验证
//在第一次调用随机数之前,要调用一次这个函数,
//这个函数称为“随机种子函数”
randomize();
//随机函数:random(int n)的用法:
//随机返回一个 0~ (n-1) 之间的整数,
//如: int x = random(100),则x值将是0到99之间的一个数。
num = -32768 + random(65536);//(-32768--32767 int型整数的范围)
fprintf(fp, "%d",num);
}
for (int i = 0; i < 50; ++i)
{
// rewind(fp);
//从文件中随机读取两个数
randomize();
a1 = random(1000);
a2 = random(1000);
fseek(fp,a1,SEEK_SET);
fseek(fp,a2,SEEK_SET);
printf(" %d + %d = %d \n", a1, a2 , a1+a2);//因为两个数是随机的整数,所以它们的和可能会溢出!不过我没处理
}
fclose(fp);
}
题中说的先创建指针,我不知道是什么意思,我看不必用指针,那样反而不直观。本回答被提问者采纳