【问题标题】:Prime number generator using pointers, flags and function calls (C)使用指针、标志和函数调用的素数生成器 (C)
【发布时间】:2015-01-30 21:20:32
【问题描述】:

程序(c 代码)从用户那里获取一个最小值和最大值,然后确定中间的所有数字是否都是素数。如果数字不是素数,程序还必须告诉用户该数字的一组因数。我无法确定如何使用 for 循环,然后确定因素是什么。我的编程知识不是很好,所以简单的术语会有所帮助。非常感谢任何帮助。

    int min, max, i, d, is_prime, not_prime; 
    void flag(int *is_prime, int *not_prime);
    int main() {
       int min, max, i, d, is_prime, not_prime;
      printf("The program will calculate all prime numbers in the range n"); 
      printf("Please enter a value for the start value\n");
     scanf("%d", &min);
     printf("Please enter a value for the end value\n");
     scanf("%d", &max); 
   for(i=min; i<=max; i++) {
     for(d=2; d<i<10; d++) {
        if (d % i ==0) { (flag==1); } }

【问题讨论】:

  • 欢迎来到 Stack Overflow!请拨打tour 并阅读How to Ask,了解我们对问题的期望。请注意,我们不提供 from-stratch 编码服务。 :-)
  • 家庭作业?真的吗?你想让我们为你编码吗?
  • 这个问题似乎是题外话,因为它暗示 “请为我编写代码。”
  • 如果你表明你已经完成了一些事情但被卡住了,你会在这里得到答案。如果你不知道如何开始问你的老师
  • 我对编码很陌生:int min, max, i, d, is_prime, not_prime;无效标志(int *is_prime,int *not_prime); int main() { int min, max, i, d, is_prime, not_prime; printf("程序将计算指定范围内的所有素数\n"); printf("请输入起始值\n"); scanf("%d", &min); printf("请输入结束值\n"); scanf("%d", &max); for(i=min; i

标签: c function pointers primes flags


【解决方案1】:

将问题分解成更小的部分。

  • 编写要求输入两个数字并简单打印所有数字的代码 它们之间的数字

  • 编写一个函数来判断一个数是否为素数(返回布尔值)

  • 编写一个返回数字因子的函数

【讨论】:

  • 那么最好不要在 for 循环中使用 for 循环来生成其间的数字,然后确定这些数字是否为素数? 'for(i=min; i
  • 范围内的每个数字也需要通过引用函数发送到调用。抱歉,我还没有弄清楚如何将代码格式很好地融入 cmets。
  • @CurtisNegele:没有办法很好地格式化 cmets 中的代码。你可以将它嵌入到backquotes (`)(所以for (int i = min; i &lt;= max; i++))中,这和你得到的一样好。 cmets 中将忽略换行符和多个空格。最好将代码编辑到问题中,仔细格式化以提高可读性。按照您希望的方式布局代码,然后选择它并使用编辑框上方的 {} 按钮将其缩进为代码。
猜你喜欢
  • 1970-01-01
  • 2013-01-26
  • 2018-09-12
  • 1970-01-01
  • 2010-12-01
相关资源
最近更新 更多