首页 > 解决方案 > C 编程练习:数组中的素数,使用 for 循环打印

问题描述

我对这个 stackoverflow 社区非常陌生。同时,我对编程(用 C 语言)非常陌生,并且我正在我的大学里为我的计算机科学学科学习它。

我得到了一个任务,我需要打印保存在数组中的素数。虽然我尝试在网上搜索一些信息,但我找不到任何有用的信息(同时,我能感觉到我的基础超级糟糕......)。

我需要打印数组中的内容,其中填充了素数;前 10 个素数应该保存在我的数组中。

但是,我遇到了错误,我的编译器上没有打印任何内容!我在 Windows 10 上使用 cygwin。

这是我的代码,

#include<stdio.h>
int main()
{
int primes[10] = {1,2,3,5,7,11,13,17,19,23}; // saving the prime numbers! //
int i;
for(int i=0; i<10; i++)
{
        printf("prime %d, ", primes[i]);
}
return 0;
}

就是我得到的。

我尝试了 C 的其他在线编译器(https://www.jdoodle.com/c-online-compiler、https://www.onlinegdb.com/online_c_compiler ,我得到了预期的结果。cygwin 编译器可能有问题(还有这个网站:https ://www.tutorialspoint.com/compile_c_online.php 。关于完整磁盘有错误?不确定错误是关于什么的......)。

$gcc -o main *.c
main.c:11:1: fatal error: error closing /tmp/cclqdgG9.s: No space left on device
 }
 ^
compilation terminated.

我做错了什么?另外,对我的代码有什么建议?这是最好的解决方案吗?

编辑:我写了一些关于不使用主函数的内容,但我误读了我的下一个练习哈哈

标签: carraysfor-loopcygwin

解决方案


您的代码很好,除了您有两个变量都称为i. 摆脱你不使用的那个。

您编译了两次代码,但从未运行过它。我不确定你为什么这样做,或者你想知道什么,因为你没有问一个具体的问题。

在线编译器遇到磁盘已满错误。您可以通知他们或等待他们修复它。除了可能使用另一个在线编译器之外,您对此无能为力。

除非有某些上下文,否则您的作业链接不能是整个作业。例如,它不会说要编写程序或创建库或类似的东西。它列出了一些要求,但不清楚它们是什么要求。所以你是否应该创建一个程序,没有办法知道。


推荐阅读