ps火焰字制作步骤:C语言高手快来啊

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 07:42:59
9、编写函数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函数。

第9题:
#include <stdio.h>

int fun(char s[])
{
int i;
int num = 0;
int neg = 1;

if(s[0] == '-')
{
neg = -1;
}
else if(s[0]>='9' || s[i]<='0')
{
printf("error!\n");
return -1;
}
else
{
num = s[0] - '0';
}

for(i=1; s[i]!='\0'; i++)
{
if(s[i]>='9' || s[i]<='0')
{
printf("error!\n");
return -1;
}
else
{
num = num*10 + s[i] - '0';
}
}
return num*neg;
}

main()
{
char str[10];
printf("Enter the string:");
gets(str);
printf("The data is:%d\n", fun(str));
getch();
}

第10题:
long fun(int a, int n)
{
long s;
long tmp;
int i;

s = a;
for(i=1; i<n; i++)
{
s = s*10 + a;
}
tmp = s;
while(tmp)
{
tmp /= 10;
s -= tmp;
}
return s;
}

main()
{
int a,n;
printf("\nEnter a & n separated by space:");
scanf("%d%d",&a,&n);
printf("The result is %ld\n", fun(a,n));
getch();
}

1.
int fun(char str[],int i)
{
int Exp=1,j=0;
if(str[i]=='-') return -1*fun(&str[i+1],i);
if(str[0]!=0)
{
while(str[j+1]!=0)
{
j++;
Exp*=10;
}
i++;
return (str[0]-48)*Exp+fun(&str[1],i);

}
else return 0;
}

2.
double fun(int a, int n)
{
int i,j;
double sum=0;
for(j=0;j<n;j++) sum+=pow(10,j)*a;
for(i=n-1;i>0;i--)
{
for(j=0;j<i;j++)
sum-=pow(10,j)*a;
}
return sum;
}

9、

long fun ( char *p)
{
long nn=0; int ss=1;
if((*p)=='-'){ p++; ss=-1;}
if((*p)=='+') p++;
while(*p)
nn=nn*10-48+(*p++);
return(nn*ss);
}

2、
#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);

}

#include<stdio.h>
void main()
{ long fun(char *p,int n);
char p[10]={'-','2','3','4',};
long n;
n=fun(p,4);
printf("%d",n);
getch();
}
long fun( char *p,int n)
{ int i;
long sum=0;
if(*p=='-')
{for(i=1;i<n;i++)
sum=(sum+(*(p+i)-48))*10;
sum=-sum/10;
}
else
{ for(i=0;i<n;i++)
sum=(sum+(*(p+i)-48))*10;
sum=sum/10;
}
return sum;
}
这个函数可是我自己写的啊:fun(char *p,int n)

以前好像做过,不过很久不碰c了,你看看书,书上应该有例子
这好像都是典型的例子