杀出恐龙谷 在线播放:关于编程

来源:百度文库 编辑:高考问答 时间:2024/04/28 13:09:27
编写函数fun,它的功能是:将一个数字字符串转换成一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符“-1234”,则函数把它转换为整数值-1234。
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;
}