C语言编程。。输入2个正整数a和n, 求a+aa+aaa+aa…a(n个a)之和.

要求定义并调用函数fn(a,n),它的功能是返回aa…a(n个a)。例如,fn(3,2)的返回值是33。
例:括号内是说明
输入
2 (repeat=2)
2 3 (a=2, n=3)
8 5 (a=8, n=5)
#include <stdio.h>
void main()
{
int ri, repeat;
int i, n;
long a, sn;
long fn(long a, int n);
scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%ld%d", &a, &n);
/*---------*/
printf("%ld\n",sn);
}
}
/*---------*/

怎么都学不明白啊啊啊啊TT

给你一个代码看哈:
#include<stdio.h>
int main()
{
int i,number,n;
int sum=1,total=0;
printf("请输入2个数\n");
scanf("%d %d",&number,&n);
for(i=1;i<=n;i++)
{
sum=sum*number;
total+=sum;
}
printf("%d",total);
return 0;
}追问

这个好像不对啊....

追答

我在vc++2010试过可以,你看是不是输入时搞错了,我的格式是输入两个数时,中间是空格

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-02
这个函数的的意思就是把前面的数复制给后面的并替换后面的树,你看书上好像结构体之前那章有,我忘了,貌似STUPY(A,B)
第2个回答  2013-06-02
/*2  (repeat=2)
2 3 (a=2, n=3)
8 5 (a=8, n=5)   这里是教你函数重载==调用函数  如果只有一个参数调用默认值   */
#include <stdio.h>
void main()
{
   int ri, repeat;
   int i, n;
   long a, sn;
   long fn(long a, int n); //你自己定义的计算函数
    printf("输入要返回的数字a");
   scanf("%d", &a);
    printf("输入要返回的次数n");
   scanf("%d", &n);
    fn(a,n);
   
}
/*----函数实现-----*/
 long fn(long a, int n){
 int i,N=n;
 long A=a;
 long SUM=0;
 for(i=1;i<N;i++)
  {   A=A*A;SUM=SUM+A;
     }
printf("计算结果%d\n",SUM);
getchar();
 }

追问

已经给出的部分不能改 改了就不算对....

追答

自己给你看了,,懒得再看一遍,,,,思路给你了。。。

本回答被提问者和网友采纳
相似回答