谁懂c语言的,请帮帮小妹我

谁懂c语言的,请帮帮小妹我

找出100以内(含100)满足I, I+4, I+10都 是素数的整数,将这些数存入一个单链表中,统计单链表的结点个数cnt以及这些I之和sum,并把结果输出到这件out.dat中。以文件out.dat中读出结果,从屏幕上显示。
谁懂得一定要教我,我的邮箱是:hi17903@163.com
一万次的感谢啊!!!!!      
连你自己都说:世上没有免费的午餐,天上没有掉下的馅饼,要有收获,必须要付出!
让别人帮你写程序而你自己不动脑筋呢,我对单链表不熟悉,所以这部分帮不上忙,你自己去学习吧,关于素数的我写了个代码,你看看:
判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之则是
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=1;m<=100;m++)
{
   k=sqrt(m+1);
    for(i=2;i<=k;i++)
      if((m%i==0)&&((m+4)%i==0)&&((m+10)%i==0))
           {leap=0;break;}
     if(leap)
        {
         printf("%-4d",m);
          h++;
         if(h%10==0)
         printf("\n");
          }
     leap=1;
}
   printf("\n the total is:%d",h);
}      
其实你说的也对哦,但是这道题我确实已经想过很久了嘛,就是有一些搞不懂啊,所以才请人帮忙嘛,为了证明世上没有免费的午餐,天上没有掉下的馅饼,有收获就要有付出,我就非常非常地感谢你,你说吧,需要什么样的感谢,只要我能做到的,我都尽力,好不好啊!;)      
呵呵,开玩笑了,希望能对你有所帮助      
你想啊,无论怎样你都帮了我嘛,所以我还是要谢谢你啊,我是第一次来这里的,很高兴认识你啊      
C语言书里不是有求素数的例题么,谭好强那本      
就当是练练手。
复制内容到剪贴板
代码:
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
struct leap_list
{
        int data;
        struct leap_list *next;
};
void travel(struct leap_list *m);
int leap(int m);
int main()
{
        char buf[100];
        FILE *fp;
        struct leap_list *head,*body,*prev;
        int m,cnt,sum;
        cnt=0;
        sum=0;
        if((head=(struct leap_list *) malloc(sizeof(struct leap_list)))==NULL)
                {
                        printf("malloc failure\n");
                        exit(0);
                }
        head->next=NULL;
        prev=head;
        for(m=1;m<=100;m++)
        if(leap(m)&&leap(m+4)&&leap(m+10))
        {       
                if((body=(struct leap_list *) malloc(sizeof(struct leap_list)))==NULL)
                {
                        printf("malloc failure\n");
                        exit(0);
                }
                body->data=m;
                body->next=NULL;
                prev->next=body;
                prev=body;
                cnt++;
                sum=sum+m;
        }
        if((fp=fopen("out.dat","w"))==NULL)
        {
                printf("file can't be opened\n");
                exit(1);
        }
        fprintf(fp,"cnt=%d\nsum=%d\n",cnt,sum);
        fclose(fp);
        fp=fopen("out.dat","r");
        fgets(buf,100,fp);
        printf("%s\n",buf);
        fgets(buf,100,fp);
        printf("%s\n",buf);
        fclose(fp);

        return(0);
       
}
int leap(int m)
{
        int k,i;
        int leap=1;
        k=(int) sqrt(m+1);
        for(i=2;i<=k;i++)
                if((m%i)==0)
                {
                        leap=0;
                        break;
                }
                return(leap);
}
void travel(struct leap_list *m)
{
        while(m->next)
        {
                printf("%d\n",m->data);
                m=m->next;
        }
}
      
三个头文件分别是
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
不知道怎么没有贴上去。。      
分别是math.h,stdio.h,stdlib.h
是不是不支持两个尖括号啊。