C语言中用for循环程序编写: 输入一个数判断它是否是质数

如题所述

#include "stdio.h"
int main()
{
   int n,i,flag=0;
   scanf("%d",&n);
   if(n<=1)
   {
      printf("输入的数不是质数!\n");
      return 0;
   }
   for(i=2;i<=n/2;i++)
   {
      if(n%i==0)
      {
         flag=1;
         break;
      }
   }
   if(flag==1)
     printf("输入的数不是质数!\n");
   else
     printf("输入的数是质数!\n");
   return 0;
}

追问

太复杂了 我们才学到for循环

追答

这就是用for做的,没有更简单的了。。

追问

这里面我们还有些没学

追答

还有什么没学么?!这全是最基础的了,就算让你们老师去写,我估计也就写成这样了。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-03
#include <stdio.h>
void main()
{
int n,i,f;
scanf("%d",&n);
if(n<=1) printf("输入的数错误!\n");
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
f=1;
break;
}
}
if(f==1)
printf("不是质数!\n");
else
printf("是质数!\n");
}追问

我们才学到for循环 没学void

在不啊

追答

这个暂时没有关系的,要等你学到后面的内容时才需要注意,在这里都是一样的结果。

第2个回答  2013-12-03
#include<stdio.h>
main()
{
int num,i,k;
printf("输入一个整数:");
scanf("%d",&num);
k=num/2;
for(i=2;i<k;i++)
{
if(num%i!=0)continue;
else{
printf("%d 不是质数",num);
return 0;
}
}
printf("%d 是质数",num);
return 0;
}追问

可不可以简写一下啊

追答

#include
main()
{
int num,i;
scanf("%d",&num);/*键盘输入一个大于1的整数*/
if(num<2)
{printf("%d即不是质数,也不是合数",num);
return 0;
}
for(i=2;i<num/2;i++)
{
if(num%i==0)
{
printf("%d 不是质数",num);
return 0;
}
}
printf("%d 是质数",num);
return 0;
}
简约若此,可以吗?

相似回答