怎么写都说是错的,不知道错在哪了,有人可以看看么,知道我一下,我真的不会了
if 中N==0不是对,应该是N>=0
当输入n为0时不需要循环计算了,直接输出sum的初始值0
参考代码
#include <stdio.h>
#include <math.h>
int main()
{
int a, n, i, sum = 0;
scanf("%d", &a);
scanf("%d", &n);
if (a >= 1 && a <= 9 && n >= 0 && n <= 20)
{
for (i = 1; i <= n; i++)
sum += pow(a, i);
printf("sum = %d\n", sum);
}
else
printf("输入错误\n");
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
#include<stdio.h>
int main(){
int A = 0;
int N = 0;
int i = 0;
int sum = 0;
int temp = 0;
scanf("%d%d",&A,&N);
sum = 0;
temp = 1;
for(i = 1;i<=N;i++){
temp *= A;
sum += temp;
}
printf("sum = %d",sum);
return 0;
}
这个试试
#include<stdio.h>
#include<math.h>
int cal(int a,int n)
{
return (int)pow(a,n);
}
int main()
{
int a,n,sum=0;
scanf("%d%d",&a,&n);
if(n==0)
{
sum=cal(a,n);
}
else
for(int j=1; j<=n; j++)
{
sum+=cal(a,j);
}
printf("sum = %d",sum);
return 0;
}