标题:c语言中为什么结果不对呢
只看楼主
百万英镑
Rank: 1
等 级:新手上路
帖 子:32
专家分:7
注 册:2011-9-14
结帖率:80%
已结贴  问题点数:10 回复次数:8 
c语言中为什么结果不对呢

   s= a+aa+aaa+(n个)a  ?


#include<stdio.h>
void main()
{float a,s,n,i;
s= 0;
i= 1;
scanf("%f,%f",&a,&n);
while (n>0)
{i=a;
s=s+i;
i= i*10+a;
n=n-1;
}
printf("%f\n",s);
}



为什么运行结果不对呢?但也没有什么错误呀?

那位高手帮帮忙呀!解释一下!
搜索更多相关主题的帖子: c语言 while 
2011-10-20 20:30
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:1 
把i=a移动到循环外面
1,2
1+11=12.000000

1,3
1+11+111=123.000000


经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-10-20 21:03
fallenstar
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2011-7-18
得分:1 
2011-10-20 21:04
chymzjy1
Rank: 1
等 级:新手上路
帖 子:21
专家分:4
注 册:2011-10-6
得分:1 
回复 楼主 百万英镑
仅当参考!
#include<stdio.h>
#include<math.h>
int main()
{
    int sum=0,a,b=1,i;
    printf("请输入底数a的值:");
    scanf("%d",&a);
    printf("请输入幂数b的值:");
    scanf("%d",&b);
    for(i=0;i<b;i++)
    {
          sum=sum+pow(a,i+1);
          printf("%d\n",sum);
    }
    printf("%d\n",sum);
    getch();
}
2011-10-20 21:05
注册机
Rank: 1
等 级:新手上路
帖 子:2
专家分:8
注 册:2011-10-13
得分:1 
输入分隔符要用逗号,或直接去掉输入语句格式串中的逗号
2011-10-20 21:21
Afah
Rank: 2
等 级:论坛游民
帖 子:40
专家分:70
注 册:2011-8-28
得分:1 
程序代码:
#include <stdio.h>
#include <math.h>
int main(void)
{
  float i,j,a,sum=0;
  int n;
  scanf("%f%d",&a,&n);
  if(n>0)
  {
    for(i=1;i<=n;i++)
      {
        j=a*(pow(10,i)-1)/9;
        sum+=j;
      }
  }
  printf("sum= %f\n",sum);
  getch();
}
2011-10-21 00:27
失落水晶
Rank: 1
来 自:江苏 泰州
等 级:新手上路
帖 子:5
专家分:2
注 册:2011-10-21
得分:1 
仅当参考!
 #include<stdio.h>
 #include<math.h>
 int main()
 {
     int sum=0,a,b=1,i;
     printf("请输入底数a的值:");
     scanf("%d",&a);
     printf("请输入幂数b的值:");
     scanf("%d",&b);
     for(i=0;i<b;i++)
     {
           sum=sum+pow(a,i+1);
           printf("%d\n",sum);
     }
     printf("%d\n",sum);
     getch();
 }
2011-10-22 16:26
weiwei555
Rank: 5Rank: 5
来 自:中国
等 级:职业侠客
帖 子:179
专家分:323
注 册:2011-3-4
得分:1 
求这个 s= a+aa+aaa+(n个)a  ?
代码如下:

#include <stdio.h>
main()
{
    int i,a,n;
    double sum,k;
   
    scanf("%d%d",&a,&n);
   
    if(n==0) sum=0;
   
    else
   
     for(i=1,sum=0,k=a;i<=n;i++)
         {
            sum=sum+k;
            k=k*10+a;
         }
      printf("sum=%f",sum);
}
2011-10-22 17:21
Y_Jo_1
Rank: 4
等 级:业余侠客
帖 子:59
专家分:215
注 册:2011-10-20
得分:1 
scanf("%f,%f",&a,&n);
这里有个逗号,你输入的时候也要有个逗号,你再试试看
2011-10-22 19:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353045-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.178815 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved