夏秋的朝暮. 2022-12-03 20:35 采纳率: 90%
浏览 64
已结题

C语言,请问这个代码为啥提交不了……

提交的时候显示wrong answer,但是我不知道哪里有问题,主函数和函数头都不能更改……

int isPrime(int x)
{
    int flag = 1,i;
    if(x == 1)
    flag = 1;
    if(x == 2)
    flag = 1;
    if(x > 2)
    {
        if(x % 2 == 0)
        flag = 0;
        else
        {
            for(i = 3;i < x / 2;++i)
            {
                if(x % i == 0)
                flag = 0;
                break;
            }
        }
        
    }
    return flag;
}

Description
cyn小朋友上小学也有一两年啦,今天数学课上mwy老师教他的是什么是素数,cyn小朋友很开心的开始验证老师给出的数字是不是素数啦,你能和他一起验证吗?(主函数代码部分已经固定,请按需写函数部分,如果提交的不是c语言则需提交全部代码)

#include<stdio.h>
int isPrime(int x);
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
if(isPrime(n))
{
printf("YES ");
}
else
{
printf("NO ");
}
}
return 0;
}
Input
第一行输入一个T,表示有T组数据。

接下来T行,每行只有一个整数n(1 <= n <= 99999),代表你需要验证的整数。

Output
对于每一个n,若是素数就输出“YES”,否则输出“NO”

Samples
input
4
1
2
3
4
output
NO
YES
YES
NO

  • 写回答

2条回答 默认 最新

  • [PE]经典八炮 2022-12-03 21:03
    关注
    1. 1不是素数
    2. for循环里面if后面加个大括号把break也套进去
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月3日
  • 已采纳回答 12月3日
  • 创建了问题 12月3日