注册 登录
编程论坛 C++教室

求助一道C+作业题,我根据提示还是没找出我错在哪里

桀桀桀桀 发布于 2011-04-17 11:36, 1484 次点击
#include<stdio.h>
void main()
{
     int  s,a,n,m,i;
      scanf("%d",&a);
      scanf("%d",&n);
      s=0;
      i=0;
      for(m=0;m<=n;m++)
      {
          i=0+a*10en-1;
          s=s+i;
      }

      printf("%d\n",s);
}




原题是s=a+aa+aaa+aaaa+aaaaa+....+a....a
                  错误是说C:\Users\Administrator\Desktop\H1.c(11) : error C2021: expected exponent value, not 'n'
貌似是在  i=0+a*10en-1;    但不晓得那N咋错了
9 回复
#2
桀桀桀桀2011-04-17 11:43
那一句翻译过来说是需要返回一个值,但是没明白怎么回事
#3
诸葛修勤2011-04-17 11:56
10en

可能不能用变量表示
#4
桀桀桀桀2011-04-17 12:01
回复 3楼 诸葛修勤
不能用变量表示?额 我试试
#5
pangding2011-04-17 13:22
楼主的意思是要 a 乘以 10 的 n-1 次方吧。但 C 里没法这么写。
那个 1e10 之类的写法,只能用于常数。所以错误提示的是:expected exponent value, not 'n' (期望一个幂的数值,而不是'n')

而且你这个算得也不对。要算 aaa,应该是 a + a*10 + a*100,而不是你写的 i = 0 + ... 这样的。
你可以在循环里用 i = i*10 + a 这样。此时如果 i 已经是 aa 的话,就会是 aa*10 + a 这样应该就行了。
#6
dengjinbao2011-04-17 14:08
#include<stdio.h>
void main()
{
     int  a,n,m,i,s=0,temp=0;
      scanf("%d",&a);
      scanf("%d",&n);
      s=0;
      i=0;
      for(m=0;m<=n;m++)
      {
          temp= temp*10+a;
          s=s+temp;
      }

      printf("%d\n",s);
}

#7
信徒Loving2011-04-17 18:42
#include<stdio.h>
void main()
{
     int  s,a,n,m,i;
      scanf("%d",&a);
      scanf("%d",&n);
      s=0;
      i=0;
      for(m=0;m<n;m++)
      {
          i=0+a*10e+(m-1);
          s=s+i;
      }

      printf("%d\n",s);
}
#8
linw12252011-04-19 22:26
回复 楼主 桀桀桀桀
#include<stdio.h>

void main()
{
    int i,n,a,b;
    long int s;

    printf("please input:\n");
    printf("a=");
    scanf("%d",&a);
    printf("n=");
    scanf("%d",&n);

    b=a;s=a;
   
    for(i=2;i<=n;i++)
    {
        a=10*a+b;
        s=s+a;
    }

    printf("s=%d\n",s);
}
绝对正确的程序。
#9
linw12252011-04-19 22:27
回复 楼主 桀桀桀桀
n代表aa……a这个数的位数
#10
xjzxylj2011-04-20 15:58
i=0+a*10en-1;>>>>i=0+a*10 e (n-1);这个试试,不行就这样好了: a*=10,用n来控制循环次数就好了。
1