//输入1个正整数n(0≤n≤6), 求1+12+123+…+123…n之和。要求定义并调用函数f(n),它的功能是返回一个长整数12…n。例如,f(2)的返回值是12,f(5)的返回值是12345。
//运行示例:
//Enter n: 4
//sum = 1370
#include
long f(int n)
{
int i;
double tn=0;
for(i = 1; i <= n; i++)
tn=i+10*tn;
return tn;
}
int main(void)
{
int i, n;
long sn;
printf("Enter n: ");
scanf("%d", &n);
sn = 0;
for(i = 1; i <= n; i++)
sn+=i+10*sn;
printf("sum = %d\n", sn);
return 0;
}
不知道你能不能理解,你在循环赋值里面出错了
你可能是忘了用你的函数 f()了,
把for循环中的
sn+=i+10*sn;
换成
sn+=f(i)