C语言的两个题

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:10:38
1.输入一行字符,统计其中单词的个数。各单词之间用空格分隔,空格数可以是多个。
2.验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如:6=3+3 8=3+5 ,...,18=7+11.将6~100之间的偶数都表示成两个素数之和,打印时一行打印5组。

没时间去做了 希望各位大侠们详细的写出来 我直接复制就可以用那样就OK了

第一题答案:
#include<stdio.h>
#include<string.h>
void main()
{
char s[100];
int i,num=0,word=0;
char c;
gets(s);
for(i=0;(c=s[i])!='\0';i++)
{ if(c==' ') word=0;
else if(word==0)
{
word=1;
num++;
}
}
printf("There are %d word in the line.\n",num);
puts(s);
}

第二题的答案如下:
#include <stdio.h>
#include <math.h>
void main()
{
int n,i,j,f,k,x,m=0;
for(x=6;x<=100;x++)
{
if(x%2==0)
{
n=x;
for(i=3;i<=n;i+=2)
{
for(k=2;k<=sqrt(i);k++)
{
f=1;
if(i%k==0)
{
f=0;
break;
}
}
if(f==1)
j=n-i;
for(k=2;k<=sqrt(j);k++)
{
f=1;
if(j%k==0)
{
f=0;
break;
}
}
if(f==1)
{
printf("%d=%d+%d\t\t",n,i,j); <