大伙帮我看看这个错哪了
#include
#include
int main()
{
long int a , x , y ;
int n , m ;
scanf( "%d %d" , &a , &n ) ;
for( m = 0 , y = 0 ; n >= 0 , m <= n ; n-- , m++ )
x = pow( 10 , m ) * a * n ;
y += x ;
printf( "%d" , y );
return 0;
}
主要应该是计算n个a的值那里错了。
修改的话,首先,for循环后面加个大括号,把下面两行括起来;
然后,可以使用另一个for循环来计算n个a的值,循环结束再把这个值累加到和中,最后打印结果即可。
修改如下:
#include <stdio.h>
#include <math.h>
int main()
{
long int a , x , y ;
int n , m ;
scanf( "%d %d" , &a , &n ) ;
for( y = 0 ; n >= 0 ; n-- ){ // 依次求1到n个a的和
x=0;
for(int j=0;j<n;j++){ //求 当前n个a的值
x+=pow(10,j)*a;
}
// x = pow( 10 , m ) * a * n ;
// x = (long)pow( a , n ) ;
//printf("%d^%d=%ld\n",a,n,x);
y += x ;
}
printf( "%d" , y );
return 0;
}