2020-04-15

今天复习,加强对指针的应用。

作业1

#include

int fun(char *p);

int main()

{

char a[20]={"\0"};

scanf("%s",a);

int b;

b=fun(a);

printf("%d",b);

}

int fun(char *p)

{

int i=0;

while(*(p+i)!='\0')

{

i++;

}

return i;

}

作业2

#include

#include

void fun(char *p1,char *p2,char *p,int len1,int len2,int a,int f);

int main()

{

char s1[27]={"\0"};

char s2[27]={"\0"};

char s[54]={"\0"};

int a;

gets(s1);

gets(s2);

scanf("%d",&a);

if(a>strlen(s1)||a>strlen(s2))

{

printf("输入有误!请重新输入。");

}

if(a<=strlen(s1)&&a<=strlen(s2))

{

if(strlen(s1)>=strlen(s2))

{

fun(s1,s2,s,strlen(s1),strlen(s2),a,1);

puts(s);

}

if(strlen(s1)

{

fun(s1,s2,s,strlen(s1),strlen(s2),a,2);

puts(s);

}

}

}

void fun(char *p1,char *p2,char *p,int len1,int len2,int a,int f)

{

int i;

char temp;

if(f==1)

{

for(i=0;i<=len1;i++)

{

if(i

{

*(p+i)=*(p1+i);

}

if(i==a-1)

{

*(p+i)=*(p1+i);

*(p+i+1)=*(p2+i);

}

if(i>a-1)

{

*(p+i+1)=*(p1+i);

}

}

}

if(f==2)

{

for(i=0;i<=(len2)+2;i++)

{

if(i

{

*(p+i)=*(p1+i);

}

if(i==a-1)

{

*(p+i)=*(p1+i);

*(p+i+1)=*(p2+i);

}

if(i>a-1&&i<=len1)

{

*(p+i+1)=*(p1+i);

}

if(i>len1)

{

*(p+i)=*(p2+i-2);

}

}

}

}

作业3

#include

int fun(char *p,int f);

int main()

{

char a[100]={"\0"};

gets(a);

printf("字母个数:%d\n数字个数:%d\n空格个数:%d\n",fun(a,1),fun(a,2),fun(a,3));

}

int fun(char *p,int f)

{

int i;

int m=0,n=0,b=0;

if(f==1)

{

for(i=0;i<100;i++)

    {

    if(*(p+i)>='a'&&*(p+i)<='z'||*(p+i)>='A'&&*(p+i)<='Z')

    {

    m++;

    }

    }

    return m;

}

if(f==2)

{

for(i=0;i<100;i++)

    {

    if(*(p+i)>='0'&&*(p+i)<='9')

    {

    n++;

    }

    }

    return n;

}

if(f==3)

{

for(i=0;i<100;i++)

    {

    if(*(p+i)==' ')

    {

    b++;

    }

    }

    return b;

}

}

你可能感兴趣的:(2020-04-15)