2015-10-10 30 views
0

这很可能是一个愚蠢的问题,但我不能让元首或我教授的笔记尾巴,所以这里有云:使用C运行时库函数只

我有一个分配给写在C/C++的函数接受一个数组并将所有0的实例排序到数组的后面。但是,我只能使用C标准运行时库,而不能使用STL或任何其他模板化容器。我不完全确定如何使用运行时库(这是我的第一个高级编程类,而且以前我只用过C++)。

是否必须为运行时库包含或使用名称空间?

是否包含<iostream>为C++打破这些规则?

如何使用C++标准库?我知道这不是STL,但我不确定它是否被视为“模板集装箱”。

+6

“C/C++”不是一种语言。你可能想知道你应该先使用哪一个。 – usr2564301

+3

*“我有一个任务可以在C/C++中编写函数”* Facepalm。 *“我知道这不是STL”*虽然这是正确的,但我发现你的教授不太可能知道这一点。 –

+1

只需使用裸露的语言,不要#除了您自己的标题以外的任何内容。 – PSkocik

回答

1

如果包含c库函数(xxxxx.h),那么在它们导入根名称空间时不包含任何名称空间。

要执行实际的排序,根本不需要库函数,尽管我可以考虑一个可以调整的函数(qsort)。要输入和输出,您至少需要fgets和fputs,需要C stdio(请参阅stdio.h)。尽管在这种情况下,如果您不必处理输入错别字,scanf和printf可能会更容易。如果你以前只做过C++,那么这将成为简单IO工作的回归基础。 C stdio很容易。这也很容易造成非常严重的错误。

3

这里的教授往往会略显草率。我几乎可以确定,您可以使用标准库进行控制台I/O,例如iostreams或*printf

几乎可以肯定的是,他只是希望你避免使用qsortstd::sort等功能来完成你的任务,因为这样会降低学习和实现算法的价值。

只要你在数组上手工实现你的分配排序,你应该没问题。

当然,最安全的选择是与你的教授仔细检查,但我很确定这是他/她的意思。