求助:简单C语言程序设计,请高手帮下忙

题目一:计算12-22+32-42+…-202
题目二:哥德巴赫猜想,任何一个偶数m=x+y其中x、y是素数,例如:8=3+5符合这个猜想,验证1000以内的偶数都符合这个猜想。
要求:要给出算法源代码,最好把算法描述(如流程图)也给我,谢谢啦,如果可以的话我会追加!谢谢大虾们了!
我的邮箱:[email protected]

第一个
void main (void)
{
int flag = 1;
int i,sum;
for(i=1;i<=20;i++)
{
if(flag)
sum += i*10 + 2;
else
sum -= i*10 + 2;
flag = !flag;
}
printf("12-22+32-42+…-202=%d",sum);
}

第二个
#include<stdio.h>
int prime(int n)
{
int flag=1,s;
if(n==2) return 1;
else
for(s=2;s*s<=n;s++)
{
if(n%s==0)
{
flag=0;break;
}
}
if(flag) return 1;
else return 0;
}

void Goldbach(void)
{
int m,i,flag;
do
{
flag=0;
printf("请输入一个大于2的偶数:");
scanf("%d",&m);
if(m%2!=0||m<4)
flag=1;
if(flag)
printf("\n输入错误!");
printf("\n");
}while(flag);
for(i=2;m-i>=2;i++)
{
if(prime(i)*prime(m-i)==0)
continue;
else
{
printf("您输入的数为%d。\n",m);
printf("将它写成两个素数和的形式为:%d=%d+%d。\n",m,i,m-i);
printf("验证完毕!\n");
}
break;
}
}

void main(void)
{
printf("验证哥德巴赫猜想\n");
printf("\n");
printf("哥德巴赫猜想:任意一个大于2的偶数都可以写成两个素数相加的形式。\n");
printf("\n\n");
printf("程序开始运行↓\n");
do
{
printf("\n");
Goldbach();
printf("\n");
printf(" 要继续验证吗?(y|n?)");
getchar();
}while(getchar()=='y'||getchar()=='Y');
printf("\n");
printf("按任意键退出!");
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-08
第一个用这样的循环来做
flag = 1;
for(i=1;i<=20;i++)
{
if(flag)
sum += i*10 + 2;
else
sum -= i*10 + 2;
flag = ~flag;
}