如何根据input的testing用例文件testing我的程序

我参加了一些编码竞赛,幸运的是我的代码也跑了。 然而我的解决scheme并没有预料到,因为我在input模式方面是错误的。


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


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; 

}


我怎么知道他们会给多lessinput(虽然他们提供了最大的限制)。 如果我使用一个数组来存储这些大小等于最大限制的input,我该如何检查c中整数数组的大小?


我会很感激任何人帮助一小段代码。 另外,如果我能够对inputtesting文件进行testing并生成“output.txt”(输出文件)。 我已经有了所需的输出文件“des.txt”。 那我怎么能匹配这两个文件是否相同?

Solutions Collecting From Web of "如何根据input的testing用例文件testing我的程序"

 #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 

你可以逐行阅读,直到没有什么要从文件中读取。 这样你就不需要知道有多少输入。

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

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