1. 程式人生 > >C演算法-求s=a+aa+aaa+aaaa+aa...a的值

C演算法-求s=a+aa+aaa+aaaa+aa...a的值

題目及程式:

/**
 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; }

執行:

這裡寫圖片描述