在c中列出数组的数字内容
Listing numerical contents of an array in c
我正在编写一个简单的程序,它获取成绩列表并在 c 中输出及格成绩,并列出列表中的所有成绩(10 个成绩)。
计算及格数并打印的功能很好
使用 printf 打印数组的内容是我遇到问题的地方。
这是我输入数组的方式:
int grades[10] = {70, 80, 95, 65, 35, 85, 54, 78, 45, 68};
目前我正在使用这个(有效):
printf ("These are the grades: %d, %d, %d, %d, %d, %d, %d, %d, %d, %d \n", grades[0], grades[1], grades[2], grades[3], grades[4], grades[5], grades[6], grades[7], grades[8], grades[9]);
它列出了数组的内容,但我确信必须有更优雅的方式来打印列表 w/o 具体指向数组的每个元素。
有没有我不知道的更优雅的解决方案?
我确实搜索了主题,但找不到答案,抱歉,如果这是重复的。
您需要编写一个函数来接收成绩作为参数并打印出来!
void print_array(int* grades, int size) {
for(int i = 0; i < size; i++) {
printf("%d", grades[i]);
}
}
使用控制循环(在本例中为 for
)打印您定位的任意数量的项目。给定一个包含 N 个要打印的项目的数组,下面的代码演示了这一点(并产生了您想要的确切输出):
int grades[N]; // initialized here or filled later
printf("These are the grades: %d", grades[0]);
for (int i = 1; i < N; i++)
printf(", %d", grades[i]);
fputc('\n', stdout);
请注意,此方法允许您 under-print 数组。您不必打印所有内容。例如,假设您有一个数组 可以 包含 M
项,但仅包含 N
(其中 0 <= N <= M
包含)。然后简单地改变先前的算法以考虑可能更少的项目(包括 none):
if (N > 0)
{
printf("These are the grades: %d", grades[0]);
for (int i = 1; i < N; i++)
printf(", %d", grades[i]);
fputc('\n', stdout);
}
您可以找到有关 for-loop here 以及 C 语言的许多其他属性的更多信息。保留 link ;值得收藏。
我正在编写一个简单的程序,它获取成绩列表并在 c 中输出及格成绩,并列出列表中的所有成绩(10 个成绩)。
计算及格数并打印的功能很好
使用 printf 打印数组的内容是我遇到问题的地方。
这是我输入数组的方式:
int grades[10] = {70, 80, 95, 65, 35, 85, 54, 78, 45, 68};
目前我正在使用这个(有效):
printf ("These are the grades: %d, %d, %d, %d, %d, %d, %d, %d, %d, %d \n", grades[0], grades[1], grades[2], grades[3], grades[4], grades[5], grades[6], grades[7], grades[8], grades[9]);
它列出了数组的内容,但我确信必须有更优雅的方式来打印列表 w/o 具体指向数组的每个元素。
有没有我不知道的更优雅的解决方案?
我确实搜索了主题,但找不到答案,抱歉,如果这是重复的。
您需要编写一个函数来接收成绩作为参数并打印出来!
void print_array(int* grades, int size) {
for(int i = 0; i < size; i++) {
printf("%d", grades[i]);
}
}
使用控制循环(在本例中为 for
)打印您定位的任意数量的项目。给定一个包含 N 个要打印的项目的数组,下面的代码演示了这一点(并产生了您想要的确切输出):
int grades[N]; // initialized here or filled later
printf("These are the grades: %d", grades[0]);
for (int i = 1; i < N; i++)
printf(", %d", grades[i]);
fputc('\n', stdout);
请注意,此方法允许您 under-print 数组。您不必打印所有内容。例如,假设您有一个数组 可以 包含 M
项,但仅包含 N
(其中 0 <= N <= M
包含)。然后简单地改变先前的算法以考虑可能更少的项目(包括 none):
if (N > 0)
{
printf("These are the grades: %d", grades[0]);
for (int i = 1; i < N; i++)
printf(", %d", grades[i]);
fputc('\n', stdout);
}
您可以找到有关 for-loop here 以及 C 语言的许多其他属性的更多信息。保留 link ;值得收藏。