兰州回族婚纱摄影排名:关于编程
10.下列程序中,fun函数的功能是:求
s = aa… aa - … - aaa - aa - a
(此处aa… aa表示n个a,a和n的值在1至9之间)
例如:a = 3,n = 6,则以上表达式为:
s = 333333 - 33333 - 3333 - 333 - 33 - 3
其值为:296298
a和n是fun函数的形参,表达式的值作为函数值传回main函数。
关于s = aa… aa - … - aaa - aa - a 的回答;
你用两个形参太费劲了,不用那么多!你把我的程序在机器上走一次就知道这个程序即简单有容易理解!
#include<stdio.h>
int fun(int n)
{
if(n==1)
return 10;
else
return fun(n-1)*10;
}
void main()
{
int a; //多少位
int b; //要的数字
int i, sum2=0;
printf(\"输入多少位数和有哪个数字组成(1-9) :\");
scanf(\"%d%d\", &a, &b);
int sum1=b*( fun(a)-1)/9;
printf(\"您要的第一个数字是==%d\\n\", sum1 );
for(i=1;i<a;i++)
sum2+= b*fun(a-i)/9;
printf(\"第一项后面的和==%d\\n\", sum2);
printf(\"最后的结果 ==%d\\n\", sum1-sum2);
}
char a[10];
...
int result=0;
...
for(int i=sizeof(a)/sizeof(a[0])-1;i>=0;i--)
{
if((a[i]-30<0||a[i]-30>9)&&a[i]!='-')
return FAILE;
if(a[i]!='-')
result+=pow(10,sizeof(a)/sizeof(a[0])-1-i)*a[i];
else if(a[i]=='-'&&i!=0)
return FAILE;
else if(a[i]=='-')
result*=-1;
}
10.
fun(int a=1,int n=1)
{
int s=0;
scanf("%d%d",&a,&n);
s=power(a,n)
for(int i=n-2;i>=0;i++)
{
s-=power(a,i);
}
return s;
}
long int power(int a,int n)
{
long int temp=0;
for(int i=0;i<n;i++)
{
temp+=pow(10,i)*a;
}
return temp;
}