家庭作业- 我有一个任务是编写一个读取文件的程序。该文件如下所示:
B 34 55 66 456 789 78 59 2 220 366 984 132 2000 65 744 566 377 905 5000
I 9000
I 389
Dm
DM
从数字数组B
构建二进制堆的位置(B后面的数字。我将一个数字插入数组/堆Dm是删除最小值,DM是删除最大值。
我已经为堆编写了代码,并且可以用random numbers
. 我的问题是阅读first line
并将其解析为 astring B
和array
.
我曾尝试使用以下代码,但显然它不起作用。
char line[8];
char com[1];
int array[MAX] //MAX is pre-defined as 100
FILE* fp = fopen( "input_1.txt", "r" );
if( fp )
{
while( fgets ( line, sizeof(line), fp ) != NULL )
{
sscanf(line, "%s" "%d", &com, &array );
... //Following this, I will have a nested if that will take
each string and run the appropriate function.
if ( strcmp( com, "B" ) == 0 )
{
fill_array( array, MAX );
print_array( array, MAX );
}
我总共 3 天阅读了大约 6 个小时,但找不到解决问题的方法。任何帮助都会很棒。