代码运行存在问题,求看看,


#include
int main()
{
    int num,a;
    printf("please input a number: \n");
    scanf("%d",&num);
    while(num<=3)
    {
       if(num=1)
       return(0);
       else if(num=2)
            {
                printf("请输入一个整数: \n");
                scanf("%d",a);
                int i=1,result=1;
                while(i<=a)
                {
                    result=result*i;
                    i++;
                }
                printf("%d\n",result);
            }   
        else
        {
            printf("请输入一个整数: \n");
            scanf("%d",a);
            if(a==2)
            printf("%d是质数\n",a);
            else if(a>2)
            {
                int i;
                for(i=2;iif(num%i==0)
                    break;
                }
                if(iprintf("%d不是质数\n",a);
                else
                printf("%d是质数\n",a);
            }
        }
    }
    printf("请选择一个选项来操作,1代表退出,2代表求阶乘,3代表括判别质数\n",num);
    return 0;
}

运行结果如下

img

第10行和第12行应该是num==1和num==2。
有帮助的话采纳一下哦!

发现你写的问题太多,直接上完整的代码吧。

#include<stdio.h>
int main()
{
    int num,a;
    printf("please input a number: \n");
    scanf("%d",&num);
    while(num <= 3 && num > 1)
    {
       if(num == 2)
            {
                printf("请输入一个整数: \n");
                scanf("%d", &a);
                int i = 1, result = 1;
                while(i <= a)
                {
                    result = result * i;
                    i++;
                }
                printf("%d\n",result);
            }   
        else
        {
            printf("请输入一个整数: \n");
            scanf("%d", &a);
            
            if(a % 2 == 0 && a != 2)
                printf("%d不是质数\n",a);
            else
                printf("%d是质数\n",a);
             
        }
        
        printf("请选择一个选项来操作,1代表退出,2代表求阶乘,3代表括判别质数\n");
        scanf("%d", &num);
    }
    
    return 0;
}