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