新手作业~~求教~~
1.函数
题目:写一个函数sum(n), 返回值类型为double。对分数序列3/2, 9/4,12/8, 15/16, ……(请自行分析该序列的特点)进行求和。
例如sum(1)=3/2
sum(2)=3/2+9/4
sum(3)= 3/2+9/4+12/8
打印sum(20)和sum(30).
2.递归
题目:写一个递归函数printNum(n)打印:
printNum(1)
1
printNum(2)
2 2
1
printNum(3)
3 3 3
2 2
1
printNum(4)
4 4 4 4
3 3 3
2 2
1
耗了一上午了,还是一点没头绪...T T...求高手指教!!!
[最优解释]
第一题
#include<stdio.h>
#include<math.h>
double sum(int n)
{
double num=0;
int i;
for(i=1;i<=n;i++)
{
if(i==1)
{
num=(double)3/2;
}
else
{
num+=3*(i+1)/pow(2,i);
}
}
return num;
}
main()
{
int i;
double result;
scanf("%d",&i);
result=sum(i);
printf("%f",result);
}
#include<stdio.h>
void printNumber(int n)
{
int i;
if(n>0)
{
for(i=0;i<n;i++)
{
printf("%d ",n);
}
printf("\n");
printNumber(n-1);
}
else
return;
}
main()
{
int i;
scanf("%d",&i);
printNumber(i);
}