用C语言编写的程序,如何实现记忆功能?

2024-11-19 01:48:31
推荐回答(2个)
回答1:

你所说的记忆功能是什么?是想把源代码保存起来呢,还是想把程序运行中输入的数据保存起来?如果是想把程序运行中输入的数据保存起来,你可以把输入的数据写入到一个文件当中,程序启动时再通过读出文件中的数据就可以了。
对文件的操作,C提供了fopen,fread,fwrite等函数用于操作文件。你可以参考你的手册来了解这些函数的用法。

回答2:

#include
#include
#include
int
main()
{
char
ch;
int
i,
m,
r[3],
u[3],
c;
clock_t
t;
srand((unsigned)time(null));
do
{
while(1)
{
printf("请输入要记忆数字的位数,结束程序请输入q或q:");
fflush(stdin);
ch
=
getchar();
if(ch
==
'q'
||
ch
==
'q'
||
'1'
<=
ch
&&
ch
<=
'5')
break;
else
printf("输入错误!\n");
}
if(ch
==
'q'
||
ch
==
'q')
break;
ch
-=
'0';
m
=
1;
for(i
=
1;
i
<
ch;
i++)
m
*=
10;
for(i
=
0;
i
<
3;
i++)
printf("%d
",
r[i]
=
rand()
%
(m
*
9)
+
m);
t
=
clock();
while(clock()
-
t
<
clocks_per_sec);
for(i
=
0;
i
<
(ch
+
1)
*
3;
i++)
printf("\b");
for(i
=
0;
i
<
(ch
+
1)
*
3;
i++)
printf("
");
for(i
=
0;
i
<
(ch
+
1)
*
3;
i++)
printf("\b");
c
=
0;
do
{
for(i
=
0;
i
<
3;
i++)
if(scanf("%d",
&u[i])
!=
1)
{
printf("程序出错!\n");
fflush(stdin);
i
=
-1;
}
if(r[0]
==
u[0]
&&
r[1]
==
u[1]
&&
r[2]
==
u[2])
break;
c++;
}
while(c
<
3);
if(c
<
3)
ch
=
'y';
else
{
printf("是否继续游戏?");
fflush(stdin);
ch
=
getchar();
}
}
while(ch
==
'y'
||
ch
==
'y');
return
0;
}