用c语言怎么解决这个问题?

来源:百度知道 编辑:UC知道 时间:2024/05/20 12:11:22
1+11+111+1111=1234
2+22+222+2222=
.................
9+99+999+9999=
这个题目是要把从1到9的式子和答案都按照上面的格式输出来

1 + 11 + 111 + 1111 = 1234
2 + 22 + 222 + 2222 = 2468
3 + 33 + 333 + 3333 = 3702
4 + 44 + 444 + 4444 = 4936
5 + 55 + 555 + 5555 = 6170
6 + 66 + 666 + 6666 = 7404
7 + 77 + 777 + 7777 = 8638
8 + 88 + 888 + 8888 = 9872
9 + 99 + 999 + 9999 = 11106

#include <stdio.h>
#include <math.h>
#include <string.h>

int Sum(int num, int n)
{
int sum = 0;
for(int i = 1; i <= n; ++i)
{
int temp = 0;
for(int j = 0; j < i; ++j)
{
temp += num * pow(10.0, j);
}

sum += temp;
}

return sum;
}

char* ForGen(char* chs, int num, int n)
{
char numStr[2] = {'0' + num, '\0'};
for(int i = 1; i <= n; ++i)
{
for(int j = 0; j < i; ++j)
{
strcat(chs, numStr);
}

if(i == n)
strcat(chs, " = ");
else
str