C语言编程题——下列给定的程序中,函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

C语言编程题

程序改错题,下列给定的程序中,函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。

#include  <stdio.h>
#include  <math.h>

void fun(int a, int *b, int *c)
{ 
	int i,j,d,y;
    for (i=3;i<=a/2;i=i+2)
	{
/***********FOUND***********/  
     	y=1;    
        for (j=2;j<=sqrt((double)i );j++)
			if (i%j==0)  y=0;
				if (y==1)
                {
                /***********FOUND***********/
                	 d=a-i;    
                     for (j=2;j<=sqrt((double)d );j++)
                     	if (d%j==0)  y=0;
                        	if (y==1)
                            {
                            	*b=i; 
                            	*c=d;
                            }
                }
	}
}
void main()
{
        int  a,b,c;
        do
        { 
                printf("\nInput  a: ");
                scanf("%d",&a);
        }
        while(a%2);
        fun(a,&b,&c);
        printf("\n\n%d=%d+%d\n",a,b,c);
}

运行示例
在这里插入图片描述
但是我觉得,完全没必要这样写,太复杂繁琐,如果不是考试,可以参考这篇文章
详细的自定义大小数组的方法(不用链表),内存的动态分配

**二级C语言不迷路。

需要分析可以到微信公众号发送问题或者在评论区留言
**

量子云基地

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lightHos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值