C语言scopy函数 c语言syscall函数

两道c语言题 帮忙回答一下吧

第一个

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网页空间、营销软件、网站建设、芦山网站维护、网站推广。

int fun(int n)

{

if(n==0||n==1)

return 1;

return n*fun(n-1);

}

main()

{

int sum=0;

for(int i=1;i=10;i++)

sum+=fun(i);

printf("%d\n",sum);

}

第二个

#include stdio.h

void scopy(char s1[], char s2[])

{

while (*s2!='\0')

{

*s1=*s2;

s1++;

s2++;

}

*s1='\0';

}

void main( )

{

char b[20]="hello",a[20];

scopy(a,b);

printf("%s",a);

}

求这几个C语言程序(函数)

又是课堂作业,做了n遍,练练手把

1.判断素数

#includestdio.h

int is_prime(int num)

{

int i=0;

for(;inum/2;i++)

{

if(num%i==0)

{

break;

}

}

if(i=num/2)

{

return -1;//不是素数返回-1

}

else

{

return 0;//如果是素数返回0

}

}

int main(void)

{

printf("请输入一个正整数:");

int x;

scanf("%d",x);

if(x=0)

{

printf("输入的不是正整数");

}

else

{

if(is_prime(x)==-1)

printf("输入的是素数");

if(is_prime(x)==0)

printf("输入的不是素数");

}

}

2.scopy函数

#includestdio.h

void myscopy(char *des, const char* src)

{

while(*src!='\0')

{

*des++=*src++;

}

}

int main(void)

{

char a[20]="hello";

char b[20]="myworld";//注意这个地方数组的长度要适当大,要不然可能出现越界!

printf("拷贝之前,a是%s,b是%s",a,b);

myscopy(a,b);

printf("拷贝之后,a是%s,b是%s"a,b);

return 0;

}

3.矩阵相加

int **res addmatrix(int a[][],int b[][])

{

int sum[5][5];

int i=0;

int j=0;

for(;i5;i++)

{

for(;j5;j++)

{

sum[i][j]=a[i][j]+b[i][j];

}

}

return sum;

}

int main(void)

{

int a[5][5]={},b[5][5]={};//初始化可以随意,注意列数要求就行了

int i=0;

int j=0;

int mysum[5][5]=addmatrix(a,b);

for(;i5;i++) //输出

{

for(;j5;j++)

{

printf("%2d ",mysum[i][j]);

}

printf("\n");

}

}

4.递归求斐波那契数列

#includestdio.h

static buf[100];//这个主要是用来存数列的中间结果的,为了提高递归算法的效率,否则会运行得很慢

int Febanaci(int num)

{

if(num=1||num=2)

{

return num;

}

else

{

buf[num-1]=Febanaci(num-1);

buf[num-2]=Febanaci(num-2);

buf[num]=buf[num-1]+buf[num-2];

return buf[num];

}

}

int main(void)

{

int i=1;

int count=0;

for(;i21;i++)

{

printf("%5d ",Febanaci(i));

count++;

if(count==3)

{

count=0;

printf("\n");

}

}

return 0;

}

5.统计字符数

void cnt(const char *src)

{

int num;

int alpha;

int space;

int others;

while(*src!="\0")

{

if(isdigit(*src))

{

num++;

}

else if(isalpha(*src))

{

alpha++;

}

else if(*src=" ")

{

space++;

}

else

{

others;

}

src++;

}

printf("该字符串中数字有%d个,字母有%d个,空格有%d个,其他字符有%d个",num,alpha,space,others);

}

int main(void)

{

printf("请输入要统计的字符串:");

char mystr[100];//注意输入的时候不要越界;

gets(mystr);

cnt(mystr);

}

c语言题目,字符串的基本操作(5个基本函数实现)

#include stdio.h

#define MAXN 100

typedef enum { fail, success } status;

typedef enum { false, true} boolean;

char s[MAXN], s1[MAXN], s2[MAXN];

void scopy(char s1[],char s2[])

{int i=0;

while(s2[i]!='\0')

{ s1[i]=s2[i];

i++;

}

s1[i]='\0';

}

int strlen(char s[] )

{ int i;

for (i=0; s[i]!='\0'; i++ );

return (i);

}

status strcat(char s1[],char s2[])

{int i, j, k;

if ((i=strlen (s1)) + (j=strlen (s2) )=MAXN)

return (fail);

for (k=0; k=j; k++ )

s1[i+k]=s2[k];

return (success);

}

status strins(char s1[], int i, char s2[ ])

{int m, n, k;

if (i0||i(m=strlen(s1))||m+(n=strlen(s2))MAXN)

return(fail);

if(m+n=MAXN){

for(k=m+n-1;k=n+i;k--)

s1[k]=s1[k-n];

for(k=0;kn;k++)s1[k+i]=s2[k];

m=m+n;

}

else if(k+n=MAXN){

for(k=MAXN-1;kn+i-1;k--)s1[k]=s1[k-n];

for(k=0;kn;k++)s1[k+i]=s2[k];

m=MAXN;

}

else{

for(k=0;kMAXN-i;k++)s1[k+i]=s2[k];

m=MAXN;

}

return(success);

}

status strsub (sl, i, j, s2)

char sl[ ], s2[ ];

int i,j;

{ int m, k;

if (i0 || i= (m=strlen(sl)))

return (fail );

if (j0 || i+jm)

return (fail );

else{

for(k=0;kj;k++)s2[k]=s1[k+i];

j=strlen(s2);

return (success);

}

}

void main( )

{ int i;

i=strlen("aassddd") ;

printf("%d\n",i);

scopy(s1,"abcd");

scopy(s2,"hijkl");

printf("%s\n",s1);

printf("%s\n",s2);

strcat(s1,s2);

printf("%s\n",s1);

printf("%s\n",s2);

strins(s1,4,s2);

printf("%s\n",s1);

printf("%s\n",s2);

}


名称栏目:C语言scopy函数 c语言syscall函数
文章地址:http://hbruida.cn/article/dojehic.html