输入所有元素后,如何在C中打印数组的所有元素?
我用C写了这个代码:输入所有元素后,如何在C中打印数组的所有元素?,c,arrays,C,Arrays,我用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) {
#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;
}
#包括
int main(){
int a[9],元素的个数;
printf(“输入10个数字:\n”);
对于(inti=0;((i<10)&&(a[i]!=0));i++){
scanf_s(“%d”、&a[i]);
如果(a[i]==0){
元素的数量=i;
打破
}
如果(a[i]!=0){
元素的数量=i+1;
}
}
printf(“有%d个元素。\n”,元素的数量);
返回0;
}
如您所见,我必须在一个数组中最多输入10个元素,或者在您输入0时停止输入,然后我必须打印该数组的所有元素以及该数组的元素数。除了打印数组的所有元素外,我对所有内容进行了排序,有人能帮我怎么做吗?您应该使用另一个for循环,例如:
for(i=0;i<number_of_elements;i++)
{
printf("%d ",a[i]);
}
for(i=0;i在实现@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;
}
#包括
int main(){
int a[10],元素的个数;
printf(“输入10个数字:\n”);
对于(inti=0;((i<10)&&(a[i]!=0));i++){
scanf_s(“%d”、&a[i]);
如果(a[i]==0){
元素的数量=i;
打破
}
如果(a[i]!=0){
元素的数量=i+1;
}
}
对于(int i=0;i您使用另一个循环,最多有多少个元素…使用格式化打印…“输入10个数字:”,当您仅为9int a[9]分配了空间时
。该程序的结果将是过度的悲伤。您所显示的代码有两个大问题:第一个问题是您想在只包含九个元素的数组中输入十个元素。第二个问题是条件a[i]!=0
在初始化之前使用a[i]
(因此将有一个不确定的值)。我把另一个循环放在哪里?@SvenB想一想!如果你想先做a,然后再做B,你不会先做B吧?