天天看點

習題6-2 使用函數求特殊a串數列和 (20分)

給定兩個均不超過9的正整數a和n,要求編寫函數求a+aa+aaa++⋯+aa⋯a(n個a)之和。

函數接口定義:

int fn( int a, int n );

int SumA( int a, int n );

其中函數fn須傳回的是n個a組成的數字;SumA傳回要求的和。

裁判測試程式樣例:

#include <stdio.h>

int fn( int a, int n );

int SumA( int a, int n );

int main()

{

int a, n;

scanf("%d %d", &a, &n);
printf("fn(%d, %d) = %d\n", a, n, fn(a,n));   
printf("s = %d\n", SumA(a,n));  

return 0;      

}

int fn( int a, int n ){
    int sum = 0, i;
    for ( i = n; i > 0; i-- ){
        sum += a*pow(10, i - 1);
    }
    return sum;
    
}
int SumA( int a, int n ){
    int Sum = 0, i, j, sum = 0;
    for ( j = 1; j <= n; j++){
        Sum += fn(a, j);         
    }
    return Sum;
}      

繼續閱讀