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

303 阅读3分钟

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

注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。

代码如下:

#include<stdio.h>
#include<math.h>
void fun(int x,int*y,int*z)
{
	int i,j,d,t;
	for(i=3;i<x/2;i=i+2)
	{
		t=1;
		for(j=2;j<sqrt((double)i);j++)
		if(i%j==0)
		t=0;
		if(t==1)
		{
			d=x-i;
			for(j=2;j<=sqrt((double)i);j++)
				if(d%j==0)
					t=0;
				if(t==1)
				{
					*y=i;
					*z=d;
				}
		}
	}
}
main()
{
	int x,y,z;
	do
	{
		printf("\nInput x: ");
		scanf("%d",&x);
	}while(x%2);
	fun(x,&y,&z);
	printf("\n\n%d=%d+%d\n",x,y,z);
}

输出运行窗口如下:
在这里插入图片描述
本周其他练习

C语言程序设计专栏

C语言编程>第二十一周 ① 下列给定程序中,函数fun的功能是:比较两个字符串,将长的字符串的首地址作为函数值返回。

C语言编程>第二十一周 ② 请补充main 函数,该函数的功能是:把一维数组中的元素逆置,结果仍然保存在原数组中。

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

C语言编程>第二十一周 ④ 请补充main函数,该函数的功能是:打印出1~99中满足个位数字的平方等于其本身的所有数。

C语言编程>第二十一周 ⑤ 下列给定程序中,函数fun的功能是:用冒泡法对5个字符串按由小到大的顺序进行排序。

C语言编程>第二十一周 ⑥ 请补充main函数,该函数的功能是:从键盘输入一个字符串,即一个指定,然后把这个字符及其后面的所有字符全部删除,结果仍然保存在原串中。

C语言编程>第二十一周 ⑦ 下列给定程序中,函数fun的功能是:首先把y所指字符串中的字符按逆序存放,然后将x所指字符串中的字符和y所指字符串中的字符,按排序的顺序交叉合并到z所指数组中,过长的剩余字符接在z所指数组的尾部。

C语言编程>第二十一周 ⑧ 请补充main函数,该函数的功能是:输出方程组a+b=52,a+2b=60的一组正整数解。本题的结果是a=44,b=8。

越努力越幸运!
加油,奥力给!!!