回 帖 发 新 帖 刷新版面

主题:刚学c  遇到问题了

#include "stdio.h"
#include "conio.h"
main()
{
  int a,n,count=1;
  long int sn=0,tn=0;
  printf("please input a and n\n");
  scanf("%d,%d",&a,&n);
  printf("a=%d,n=%d\n",a,n);
  while(count<=n)
  {
    tn=tn+a;
    sn=sn+tn;
    a=a*10;
    ++count;
  }
  printf("a+aa+...=%ld\n",sn);
  getch();
}
要实现的是求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
   共有5个数相加),几个数相加有键盘控制。 但我不明白运行后的数据!比如输入2  2 时所显示的a=2 n=1824  a+aa+aaa.....=-132012564   要是错了 正确的程序该怎么写

回复列表 (共8个回复)

沙发

晕,着实比较诡异。。

板凳

将 scanf中的双引号中的逗号去掉

3 楼

scanf 里那个逗号不去的话也可以,只是在你输入的 时候记得用逗号隔开
另你把 sn 改成浮点型的试试

4 楼

[quote]将 scanf中的双引号中的逗号去掉[/quote]

5 楼

#include "stdio.h"
main()
{int a,n,i=1,sn=0,tn=0;
  printf("a,n=");
   scanf("%d,%d",&a,&n);
    while(i<=n)
    {tn=tn+a;
      sn=sn+tn;
      a=a*10;
      ++i;

     }
 printf("sn=%d",sn);    
     getch();
 }

6 楼


输入a和n的时候 要在当中加个 , 

7 楼


printf("please input a and n\n");
这句最好能改为:
printf("please input a,n\n");
用户从键盘输入a,n时要以逗号隔开,不要用空格。
试试,可以的。
其他的地方都很好,没有错误。

8 楼

深圳市华信群英科技有限公司与知名通信软件公司正式签订定向输送人才的合作协议
针对想进入IT软件行业的有志人士提供专业的企业内训
实训课程采用“2+3”分段教学模式,分为2个月理论强化和3个月项目实训两个阶段
实训前就签订就业安置协议,岗前实训后入职
不仅学费优惠而且是企业定向培训定向招聘,百分百保证就业
有意向请登录www.szctt.com,或加QQ:1179397962做详细咨询

我来回复

您尚未登录,请登录后再回复。点此登录或注册