这个题利用循环结构就好了,具体代码如下:
#include <stdio.h>#include<stdlib.h>
#include<math.h>
int sum(int n, int a)
main()
{
int a , n
printf("Input a,n:\n")
scanf("%d,%d",&n,&a)
printf("sum=%ld\n",sum(n,a))
system("pause")
}
int sum(int a,int n)
{
int i
int A=a
int s=0
for(i=1i<=ni++)
{
s+=A
A=A+a*pow((double)10,i)
}
return s
}
a初值为12时,a+=a-=a*=a结果为0步骤:这个表达式的运算是从右向左的:1. a*=a:a=a*a=12*12=1442. a-=144: a=a-144=144-144=03. a+=0: a=a+0=0+0=0。按照右结合优先,可以分成两条语句:b=b+c
a=a+b:
即先计算b=b+c,再计算a=a+b:实际上就是把abc的值相加总和赋给a。
这种形式也就是考试时有,平时写程序很少用的,分开写还可以。