所以我在C:
中有这段代码#include <stdio.h>
int main() {
int a[9], number_of_elements;
printf("Enter 10 numbers: \n");
for (int i = 0; ((i < 10) && (a[i] != 0)); i++) {
scanf_s("%d", &a[i]);
if (a[i] == 0) {
number_of_elements = i;
break;
}
if (a[i] != 0) {
number_of_elements = i + 1;
}
}
printf("There is %d elements.\n", number_of_elements);
return 0;
}
正如你所看到的,我必须在数组中输入最多10个元素,或者在输入0时停止输入,之后我必须打印该数组的所有元素以及数组中的元素数量。除了打印数组的所有元素之外,我对所有内容进行了排序,有人可以帮我怎么做吗?
答案 0 :(得分:2)
您应该使用另一个for循环,例如:
for(i=0;i<number_of_elements;i++)
{
printf("%d ",a[i]);
}
答案 1 :(得分:0)
在实现@ rsp的代码后,我修复了我的代码。
#include <stdio.h>
int main() {
int a[10], number_of_elements;
printf("Enter 10 numbers: \n");
for (int i = 0; ((i < 10) && (a[i] != 0)); i++) {
scanf_s("%d", &a[i]);
if (a[i] == 0) {
number_of_elements = i;
break;
}
if (a[i] != 0) {
number_of_elements = i + 1;
}
}
for (int i = 0; i<number_of_elements; i++)
{
printf("%d ", a[i]);
}
printf("\nThere are %d elements.\n", number_of_elements);
return 0;
}
Tnx大家帮忙和tnx @George因为这么有趣:)