#include <stdio.h>
#include <math.h>
int main()
{
int i,j,n;
long temp,sum=0;
printf("Please input terms numbers.");
scanf("%d",&n);
while(n<1||n>10)
{
printf("Enter error,enteragain.");
scanf("%d",&n);
}
for(i=0;i<n;i++)
{
temp=1;
for(j=0;j<=i;j++)
temp+=(long int)pow(10,j)*i;
sum+=temp;
}
printf("sum=%ld\n",sum);
return 0;
}
用这个代码计算1+22+333+4444+...的前n项的值(n<10)
请问第16行的temp=1,和第18行的temp+=(long int)pow(10,j)*i;有没有出错
#include <stdio.h>
int numn(int n)
{
int num=0;
for(int i=0;i<n;i++)
{
num=num*10+n;
}
return num;
}
int main()
{
int sum=0;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
sum+=numn(i);
printf("%d",numn(i));
if(i!=n)
printf("+");
else
printf("=");
}
printf("%d\n",sum);
return 0;
}