程序代码:
/******************************************************************************* 求Sn = a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ), 其中 a 是一个1~9的数字,例如:2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 ) 关于输入 一行,包括两个整数,第一个为a,第2个为n(1 ≤ a, n ≤ 9),以空格分隔。 关于输出 一行,Sn的值。 例子输入 2 5 例子输出 24690 *******************************************************************************/ #include<stdio.h> #define N 9 int main(void) { int i,j,m,n; int b[N]={0}; printf("input m n:\n"); do { scanf("%d %d",&m,&n); }while(m<0||m>9||n<1||m>9);/* 控制输入数据的范围 */ for(i=n-1;i>=0;i--) for(j=0;j<=i;j++) b[i]+=m; /* 为数组赋值,也就是完成若干个m相加的任务 */ for(i=n-1;i>=0;i--) { b[i-1]+=b[i]/10; /* 进位 */ b[i]=b[i]%10; /* 取余 */ } for(i=0;i<n;i++) printf("%d",b[i]); /* 输出 */ getch(); }