首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么打印1+11+111+1111+…+111111111=

2012-02-11 
如何打印1+11+111+1111+……+111111111=?有个问题想请教一下:要求打印出:1+11+111+1111+……+111111111?2+22+

如何打印1+11+111+1111+……+111111111=?
有个问题想请教一下:  
要求打印出:  
1+11+111+1111+……+111111111=?  
2+22+222+2222+……+222222222=?  
3+33+333+3333+……+333333333=?  
……  
……  
9+99+999+9999+……+999999999=?  

我写的代码如下:  
main()  
{  
int   i,j;  
long   f1,f2,sum=0;  
for(i=1;i <=9;i++){  
f1=i;  
printf( "sum= ");  
for(j=1;j <=9;j++){  
f2=f1*10+i;  
sum+=f1;  
if(j==9)printf( "%d= ",f1);  
else   printf( "%d+ ",f1);  
f1=f2;  
}  
printf( "%d\n ",sum);  
}  
}  

不知哪出错了?烦请帮忙看看!

[解决办法]
#include <stdio.h>
int main()
{
int i,j;
long f1,f2,sum=0;
for(i=1;i <=9;i++)
{
f1=i;
sum=0;//加上
printf( "sum= ");
for(j=1;j <=9;j++)
{
f2=f1*10+i;
sum+=f1;
if(j==9)printf( "%d= ",f1);
else printf( "%d+ ",f1);
f1=f2;
}
printf( "%d\n ",sum);
}
return 0;
}
[解决办法]
#include <stdio.h>
int main()
{
int i,j;
long int f1,f2,sum=0;
for(i=1;i <=9;i++)
{
f1=i;
sum=0;
printf( "sum= ");
for(j=1;j <=9;j++)
{
f2=f1*10+i;
sum+=f1;
if(j==9)printf( "%ld= ",f1);
else printf( "%ld+ ",f1);
f1=f2;
}
printf( "%ld\n ",sum);
}
return 0;
}
改好了,就是没个数都用ld 长整形输出

热点排行