0

我参加了一些编码竞赛,幸运的是我的代码也运行了。然而,我的解决方案出乎意料,因为我对输入的模式有误。


问题涉及将整数作为输入并执行一些操作并返回不同或相同的整数。我的程序没有任何问题,我只是不知道如何编码以便接受这样的输入


Input

The input will contain several test cases (not more than 10). 
Each test case is a single  line with a number n, 0 <= n <= 1 000 000 000. 
It is the number given as input.

Output

For each test case output a single line, containing the integer returned.

Example

Input:
12
2

Output:
13
2

我的代码是


#include <stdio.h>

int functionReturningInteger(int n)
{
// implementation
........ 
return num;
}


int main(void)
{

int number;
//printf("Enter the number: ");
scanf("%d",&number);
printf(functionReturningInteger(number));
return 0;

}


我怎么知道他们将提供多少输入(尽管它们确实提供了最大限制)。如果我使用一个数组来存储这些大小等于最大限制的输入,我如何检查 c 中整数数组的大小?


我将感谢任何人提供一小段代码。此外,如果能够根据输入测试文件对其进行测试并生成“output.txt”(输出文件)。我已经有了所需的输出文件“des.txt”。那么我如何匹配两个文件是否相同?

4

2 回答 2

0

您可以逐行读取,直到文件中没有可读取的内容。这样您就不需要知道给出了多少输入。

在 C 中没有跟踪数组大小的默认方法。

要匹配您可以diff在 Linux\Unix 操作系统上使用的文件。

于 2012-07-18T07:32:25.237 回答
0
#include <stdio.h>
int scanned;
while((scanned = scanf("%d", &number)) != EOF) {
    printf("%d\n", functionReturningInteger(number));
}

如果scanf在成功转换之前检测到输入结束,则返回EOF.

对于其他问题,重定向输入和输出,

$ ./your_prog < input.txt > output.txt

并比较

$ comp output.txt des.txt
于 2012-07-18T07:33:55.167 回答