这个C语言哪里错啦????

来源:百度知道 编辑:UC知道 时间:2024/06/14 09:39:59
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, i, n, sn, tn;
int ri, repeat;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%ld%d", &a, &n);
for(i=0,tn=0,sn=0;i<n;i++){
tn=tn+pow(10,i)*a;
sn=sn+tn;
}
printf("sum = %d\n", sn);
}
}
现在有点糊涂,望高人指点
我有点没说清楚,题目是这样的,我结果不对
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入2个正整数 a 和 n,求 a+aa+aaa+aa…a(n个a)之和。例如,输入 2 和 3,输出 246(2 + 22 + 222)。
输入输出示例:括号内是说明

能运行,有警告。
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, i, n;
int ri, repeat;
float sn,tn;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%ld%d", &a, &n);
for(i=0,tn=0,sn=0;i<n;i++){
tn=tn+pow(10,i)*a;
sn=sn+tn;
}
printf("sum = %d\n", sn);
}
}
这样修改就可以了

没错

你这个问题我见过,
难点就在于怎么计算总和

你的表达式没有错,那么错误只能是其他细节地方,比如符号之类的
scanf("%ld%d", &a, &n);
这里有问题,a并不是doule型,d前面不需要加l,把l删去

#include <stdio.h>
#include <math.h>
int main(void)
{
int a, i, n, sn, tn;
int ri, repeat;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &a, &n);
sn=0;
for(i=0;i<n;i++){
tn=0;
tn=tn+pow(10,i