永发信息网

用c 语言,还有编程计算a+aa+aaa+…+aa…a〔n个a〕的值,其中a是一个数字,n键盘输入

答案:4  悬赏:20  手机版
解决时间 2021-02-12 00:52
  • 提问者网友:末路
  • 2021-02-11 11:07
用c 语言,还有编程计算a+aa+aaa+…+aa…a〔n个a〕的值,其中a是一个数字,n键盘输入
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-02-11 12:13
#include
#include

unsigned long na(int a,int n)
{
unsigned long num=0;
int i=0;
for(i=0;i {
num+=(a*pow(10,i));
}
return num;
}
unsigned long cal(int a,int n)
{
if(a==0)
return 0;
unsigned long result=0;
int i=0;
for(i=1;i<=n;i++)
result+=na(a,i);

return result;
}
void main()
{
int a,n;
printf("Input a and n:");
scanf("%d %d",&a,&n);
printf("The result:%lu\n",cal(a,n));

}追问有没有不用调用函数的?追答你是说不调用系统函数还是不调用自己定义的函数。自己定义函数是为了增加程序的可读性。如果不调用库函数的话可以自己写。比如pow那个函数就是math.h里面的。可以自己定义一个这样的函数:
int def_pow(int a,int n)
{
if(n==0) return 1;
int i=1,result=1;
while(i<=n)
{
result*=a;
i++;
}
return result;
}
全部回答
  • 1楼网友:一把行者刀
  • 2021-02-11 15:45
只说下关键的循环部分吧。
int b=0,sum=0;
for(int i=0;i{
b=b*10+a;
sum=sum+b;
}
  • 2楼网友:傲气稳了全场
  • 2021-02-11 15:02
#include "stdio.h"
int n_a(int a,int n) //构造n个a这个数
{
int na=a;
for(int i=1;i {
na = 10*na + a;
}
return na;
}
int main (void)
{
int a,n,m,sum=0;
printf("Input a and n:");
scanf("%d%d",&a,&n);
for(int i=1;i<=n;i++)
sum +=n_a(a,i);
printf("%d",sum);
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯