C演算法-求s=a+aa+aaa+aaaa+aa...a的值
阿新 • • 發佈:2019-02-04
題目及程式:
/**
11. 題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。
(程式分析:關鍵是計算出每一項的值。)
**/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
// count-->一共幾個數相加
// a是數字
// number陣列是存放中間資料
// sum陣列是用來存放這count個數的
int count=0 ,a=0,*number,*sum,total=0;
printf("請輸入一共幾個數相加:\n");
scanf("%d",&count);
printf("請輸入數字a:\n");
scanf("%d",&a);
// 分配count個大小
number=malloc(count*sizeof(int));
sum=malloc(count*sizeof(int));
for (int i=0; i<count;i++ ) {
sum[i]=0;
for (int j=0; j<i+1 ; j++) {
number[j]=pow(10,j)*a;
sum[i]+=number[j];//累加以計算第i個數是多少
}
printf("第%d個數是%d\n",i+1,sum[i]);
total+=sum[i];
}
printf("最後總和是%d\n",total);
return 0;
}