美文网首页
2020-04-14

2020-04-14

作者: 于渤文 | 来源:发表于2020-04-14 16:11 被阅读0次

    1.

    #include<stdio.h>

    int fun(int a);

    int main()

    {

    int a;

    scanf("%d",&a);

    printf("%d",fun(a));

    }

    int fun(int a)

    {

    int i;

    int m=0;

    int d=1;

    int b=a,c;

    int sum=0;

    while(b!=0)

    {

    m++;

    c=b%10;

    for(i=1;i<m;i++)

    {

    d*=8;

    }

    sum+=c*d;

    d=1;

    b=b/10;

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

    }

    return sum;

    }

    2.

    #include<stdio.h>

    #include<string.h>

    int* fun(int *p,int len,int f);

    int main()

    {

    int s[100]={0};

    int i=0;

    while(scanf("%d",&s[i])&&s[i]!=0)

    {

    i++;

    }

    printf("奇数和为:%d\n",*fun(s,i,1));

    printf("偶数和为:%d\n",*fun(s,i,0));

    }

    int* fun(int *p,int len,int f)

    {

    int sum1=0,sum2=0;

    int *add,*even;

    int i;

    if(f==1)

    {

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

    {

    if((*(p+i))%2==1)

    {

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

    }

    }

    add=&sum1;

    return add;

    }

    if(f==0)

    {

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

    {

    if((*(p+i))%2==0)

    {

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

    }

    }

    even=&sum2;

    return even;

    }

    }

    3.

    #include<stdio.h>

    void scan(int *p);

    void prin(int *p);

    void change(int *p);

    int main()

    {

    int a[10]={0};

    scan(a);

    change(a);

    prin(a);

    }

    void scan(int *p)

    {

    int i;

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

    {

    scanf("%d",(p+i));

    }

    }

    void prin(int *p)

    {

    int i;

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

    {

    printf("%d ",*(p+i));

    }

    }

    void change(int *p)

    {

    int i;

    int max=*p;

    int temp;

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

    {

    if(*(p+i)>max)

    {

    max=*(p+i);

    }

    }

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

    {

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

    {

    temp=*(p+i);

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

    *(p+9)=temp;

    }

    }

    int min=*p;

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

    {

    if(*(p+i)<min)

    {

    min=*(p+i);

    }

    }

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

    {

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

    {

    temp=*(p+i);

    *(p+i)=*p;

    *p=temp;

    }

    }

    }

    4.

    #include<stdio.h>

    int digit(int n,int k);

    int main()

    {

    int n,k;

    scanf("%d%d",&n,&k);

    printf("%d",digit(n,k));

    }

    int digit(int n,int k)

    {

    int m;

    while(k>0)

    {

    m=n%10;

    n=n/10;

    k--;

    }

    return m;

    }

    5.

    #include<stdio.h>

    int wei(int a);

    int change(int a,int b);

    int main()

    {

    int a,b;

    scanf("%d",&a);

    b=wei(a);

    printf("该数字是:%d位数\n",b);

    printf("调换后的数字是:%d\n",change(a,b));

    }

    int wei(int a)

    {

    int m=0;

    while(a!=0)

    {

    m++;

    a=a/10;

    }

    return m;

    }

    int change(int a,int b)

    {

    int sum=0;

    int n=1;

    int i;

    while(b!=0)

    {

    for(i=1;i<b;i++)

    {

    n*=10;

    }

    sum+=a%10*n;

    a=a/10;

    b--;

    n=1;

    }

    return sum;

    }

    相关文章

      网友评论

          本文标题:2020-04-14

          本文链接:https://www.haomeiwen.com/subject/jpktvhtx.html