奇怪问题,请各位大哥大姐指教~!!

greyfox520 2006-04-29 09:13:46
SUM=a+aa+aaa+aaaa+。。。。+a。。(N个a) a和 n由键盘输入,这个程序我写的代码如下 ,怎么结果老是输出0啊??有人帮我下么???
main()
{ int a,i,n;
float s,sum;
s=0;sum=0;
scanf("%d%d",&a,&n);
for( i=1;i<=n;i++)
{
s=s+a;
sum=sum+s;
a=10*a;
}
printf("the sum is %d\n",sum );
getch();
}


}
我在TC2.0和WIN-TC下面都试过了,不知道为什么,是不是我操作系统的问题?所用操作系统为WINXP.
...全文
107 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
greyfox520 2006-05-01
  • 打赏
  • 举报
回复
谢谢 各位的指教
niatclock 2006-04-29
  • 打赏
  • 举报
回复
main()
{ int a,i,n;
float s,sum;
s=0;sum=0;
scanf("%d%d",&a,&n);
for( i=1;i<=n;i++)
{
s=s+a;
sum=sum+s;
a=10*a;
}
printf("the sum is %d\n",sum );
getch();
}

补充一点:sum在输出时的数据类型应该同定义时一致,否则会出现溢出情况,因为你程序中出现如下情况:
float s,sum; 而printf("the sum is %d\n",sum );


niatclock 2006-04-29
  • 打赏
  • 举报
回复
或将float s,sum;改为int s,sum也可进行输入正确结果了
greyfox520 2006-04-29
  • 打赏
  • 举报
回复
谢谢 楼上的朋友了.
erzichang_ 2006-04-29
  • 打赏
  • 举报
回复
溢出了。
printf("the sum is %f\n",sum );//改成这样

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧