两个C语言的简单问题?求教!

来源:百度知道 编辑:UC知道 时间:2024/05/18 04:58:56
#include <stdio.h>
#include <conio.h>
double fun(int m)
{double t=1.0;
int i;
for(i=2;i<=m;i++)
t+=1.0/i;
}
main()
{int m;
clrscr();
printf("enter 1 integer number:");
scanf("%d",&m);
printf("result is %lf",fun(m));
}
这是要求t=1+1/2+1/3+1/4+..+1/m的问题,为什么老是结果不对,请大侠们帮帮忙!跪谢!
另外一个是:
#include <stdio.h>
#include <conio.h>
void fun(int m,int k)
{int aa[20],i;
for(i=0;m;i++)
{ aa[i]=m%k;
m/=k; }
for(;i;i--)
printf("%d",aa[i]); }
main()
{int b,n;
clrscr();
printf("enter a number and a brae");
scanf("%d %d",&n, &b);
fun(n,b);}
程序要求:将10进制整数转换成K进制(2<=K<=9),结果怎么不对,请帮帮忙!考试急用!
非常感谢大家的帮助!

在第一个程序中的fun(m) 函数里,最后少了一个return(t);
改为:
#include <stdio.h>
#include <conio.h>
double fun(int m)
{double t=1.0;
int i;
for(i=2;i<=m;i++)
t+=1.0/i;
return(t);
}
main()
{int m;
clrscr();
printf("enter 1 integer number:");
scanf("%d",&m);
printf("result is %lf",fun(m));
}
第二个程序改为:
#include <stdio.h>
#include <conio.h>
void fun(int m,int k)
{
int aa[20],i;
for(i=0;m;i++)
{aa[i]=m%k;
m/=k;
}
for(i-=1;i>=0;i--)
printf("%d",aa[i]);
}
main()
{
int b,n;
clrscr();
printf("enter a number and a brae:");
scanf("%d,%d",&n, &b);
fun(n,b);
}

1
#include <stdio.h>
#include <conio.h>
double fun(int m)
{double t=1.0;
int i;
for(i=1;i<=m;i++)/*从1开始,要不少加1*/