MMbukua 2022-04-16 11:14 采纳率: 77.8%
浏览 40
已结题

为什么我输出什么数字都是0,tech说我这个程序代码思路没问题啊.求解

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

我的题目:编写程序,求出100到300之间的所有非偶数非素数的数的个数。63

#include<stdio.h>
int fun(int n)
{
int sum=0;
while (n > 100 && n < 300 )
{
if(PRM(n))
if (n%2!=0)
{
sum = sum + 1;
printf("%d\n", n);
}
n++;
}
return sum;
}
int PRM(int n)
{
int i;
for (i = 2; i < n; i++)
{

    if (n % i == 0)
        return 1;
    return 0;
}

}

  • 写回答

2条回答 默认 最新

  • 惜日短 2022-04-16 11:55
    关注

    你这代码写的属实是有一点乱,因为你的子函数PRM() for循环的第一次子函数PRM()就结束了,偶数return 1,进入if判定,第二个if()不通过;奇数return 0,第一个if()无法通过判定

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月25日
  • 已采纳回答 4月17日
  • 创建了问题 4月16日