天天看點

浙大版《C語言程式設計(第3版)》題目集 習題6-2 使用函數求特殊a串數列和

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

給定兩個均不超過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;
}

/* 你的代碼将被嵌在這裡 */           

複制

輸入樣例:

2 3

輸出樣例:

fn(2, 3) = 222

s = 246

代碼:

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

複制