几道C语言的题目要大家帮忙

/*------------------------------------------------【程序设计】-----------------------------... /*------------------------------------------------
【程序设计】
--------------------------------------------------

功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函
数中由键盘输入n值,并输出运算结果。请编写fun
函数。
例如:若n值为5,则结果为153。

------------------------------------------------*/

#include<stdio.h>

float fun(int n)
{

/**********Program**********/

/********** End **********/

}

main()
{
int i,n;
long int result;
scanf("%d",&n);
result=fun(n);
printf("%ld\n",result);
yzj();
}

yzj()
{
FILE *IN,*OUT;
int i;
int iIN;
long int iOUT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);
iOUT=fun(iIN);
fprintf(OUT,"%ld\n",iOUT);
}
fclose(IN);
fclose(OUT);
}

/*------------------------------------------------
【程序设计】
--------------------------------------------------

功能:求1到w之间的奇数之和。(w是大于等于100小于等
于1000的整数)

------------------------------------------------*/

#include "stdio.h"
#include"conio.h"

long fun(int w)
{
/**********Program**********/

/********** End **********/

}

main()
{
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %ld\n", fun(m));
yzj();

}

yzj()
{
FILE *IN,*OUT;
int c ;
int t;
long o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}

/*------------------------------------------------
【程序设计】
--------------------------------------------------

功能:用辗转相除法求两个整数的最大公约数。

------------------------------------------------*/

#include<stdio.h>

int gcd(int n,int m)
{
/**********Program**********/

/********** End **********/
}

main()
{
int n,m,result;

scanf("%d%d",&n,&m);
result=gcd(n,m);
printf("the gcd is %d\n",result);
yzj();

}

yzj()
{
FILE *IN,*OUT;
int m,n;
int i[2];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
}
for(n=0;n<6;n++)
{
for(m=0;m<2;m++)
{
fscanf(IN,"%d",&i[m]);
}
o=gcd(i[0],i[1]);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
用VC6.0 的~
不要改动题目~~因为是练习的填空题··谢谢
展开
 我来答
mayadong7349
推荐于2016-12-01 · TA获得超过2356个赞
知道大有可为答主
回答量:362
采纳率:0%
帮助的人:667万
展开全部
同学,不知道你用的是什么编译工具(是TC?如果是的话,请提醒我修改),我用的是VC6.0。下面是我的回答,其中h后面标有/**/的是修改过的地方。
先奉上第一题:
#include<stdio.h>
#include<stdlib.h>
double fun(int n)/**/
{

/**********Program**********/
int i;
double sum=0;
double jc=1;
for(i=1;i<=n;i++)
{
jc=jc*i;
sum=sum+jc;
}
if(n==0)sum=1;
return sum;
/********** End **********/
}
void main()/**/
{
void yzj();/**/
int i,n;
double result;/*为了提高精度,我把它改成double型的*/
scanf("%d",&n);
result=fun(n);
printf("%g\n",result);/**/
yzj();
}
void yzj()/**/
{
FILE *IN,*OUT;
int i;
int iIN;
double iOUT;/**/
IN=fopen("in.dat","r");/*你要先在你的默认目录下创建一个文件:in.dat,否则后面就没法进行了。为了方便,你可以改成:IN=fopen("D:\\in.dat","r");即在D盘下创建这个文件。对应的OUT=fopen("out.dat","w");可以改成OUT=fopen("D:\\out.dat","w");*/
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..It May Be Changed");
exit(0);/*如果打开失败,使程序正常退出,要用到头文件stdlib.h*/
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. It May Be Changed");
exit(0);/**/
}
for(i=0;i<10;i++)
{
fscanf(IN,"%d",&iIN);/*假设在文件in.dat中存放有十个数0~9*/
iOUT=fun(iIN);
fprintf(OUT,"%g\n",iOUT);/**/
}
fclose(IN);
fclose(OUT);
}
第二道:
#include "stdio.h"
#include"conio.h"
#include"stdlib.h"/**/
long fun(int w)
{
/**********Program**********/
int i;
long int sum=0;
for(i=1;i<=w;i++)
if(i%2!=0)sum=sum+i;
return sum;
/********** End **********/

}
void main()
{
void yzj();/*函数声明,因为yzj这个函数定义在main函数之后*/
int m;
printf("Enter m: ");
scanf("%d", &m);
printf("\nThe result is %ld\n", fun(m));
yzj();

}
void yzj()/**/
{
FILE *IN,*OUT;
int c ;
int t;
long o;
IN=fopen("in.txt","r");
if(IN==NULL)
{
printf("Read File Error");
exit(0);
}
OUT=fopen("out.txt","w");
if(OUT==NULL)
{
printf("Write File Error");
exit(0);
}
for(c=1;c<=5;c++)
{
fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%ld\n",o);
}
fclose(IN);
fclose(OUT);
}
第三题:
#include<stdio.h>
#include<stdlib.h>
int gcd(int n,int m)
{
/**********Program**********/
int t,p,r;
if(n>m)
{
t=n;
n=m;
m=t;
}
p=n*m;
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
/********** End **********/
}

void main()/**/
{
void yzj();/**/
int n,m,result;
scanf("%d%d",&n,&m);
result=gcd(n,m);
printf("the gcd is %d\n",result);
yzj();

}

void yzj()/**/
{
FILE *IN,*OUT;
int m,n;
int i[2];
int o;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read File Error");
exit(0);
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write File Error");
exit(0);
}
for(n=0;n<6;n++)
{
for(m=0;m<2;m++)
{
fscanf(IN,"%d",&i[m]);
}
o=gcd(i[0],i[1]);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
84126145
2009-12-31
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
cczczx
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式