偶数分解的C语言程序,偶数分解为两个质数的和(C语言)

题目:在控制台程序实现,用户输入一个大于2的偶数,把它分解成两个质数的和.

C语言代码如下:(自己修改了几次,虽然简单,但还是比较有成就感)

#include

int PrimeNum(int );

void main()

{

//质数百度上说,是指在一个大于1的自然数中,除了1和它本身外,

//不能被其他整数整除的数

//也就是说,1不是质数

int i,j,n,a;//i,j为所求的两个质数

int flag_i=0, flag_j=0;//flag_i等于0标志i为非质数,flag_i等于1标志i为质数

do{

printf("请输入个偶数n:\n");

a=scanf("%d",&n);//a获取scanf()函数的返回值

if (n%2 || a!=1 )

{

printf("你输入的不是偶数,请重新输入!\n");

fflush(stdin);//清空缓冲区

}

}while(n%2 || a!=1 );

printf("把偶数%d分解成两个质数相加的两个质数为:\n", n);

for (i=1; i<=(n/2); i++)

{

flag_i=PrimeNum(i);//判断i是否为质数

if (1==flag_i)//如果i为质数,则执行下面程序

{

j=n-i;

flag_j=PrimeNum(j);//判断j是否为质数

if (1==flag_j)//如果j为质数,则执行下面程序

{

printf("%d %d\n", i,j);

}

}

}

}

int PrimeNum(int x)//判断整型数x是否为质数的函数

{

int i ,flag=1;//flag置为1,代表x为质数

for(i=2; i

{

if (0==x%i)

{

flag=0;//x不是质数,则标志位置为1

}

}

return flag;

}

运行结果截图为:

1363181771_7233.jpg

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值