20-01-02培训内容

一.上午培训内容

随机数

/*

#include

#include

#include

int main()

{

    int i;

    srand((unsigned)time(NULL)); //unsigned

    i=rand()%100;

    printf("%d",i);

}

*/

二.下午培训内容


//第一题:十进制转换八进制

/*

#include

#include

int main()

{

    int a,b,i,s=0,sum=0;

    int c[20]={0};

    printf("输入一个十进制数");

    scanf("%d",&a);

    while(a/8!=0)

    {

        s+=1;

        b=a/8;

        c[s-1]=a%8;

        a=b;

    }

    c[s]=a%8;

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

    {

        sum+=c[i]*pow(10,i);

    }

    printf("八进制为%d",sum+1);

}

*/

/*

#include

#include

int main()

{

    int a,b,i,s=0,sum=0;

    int c[20]={0};

    printf("输入一个八进制数");

    scanf("%d",&a);

    while(a/10!=0)

    {

        s+=1;

        b=a/10;

        c[s-1]=a%10;

        a=b;

    }

    c[s]=a%10;

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

    {

        sum+=c[i]*pow(8,i);

    }

    printf("十进制为%d",sum);

}

*/

//第二题:编写一段代码,求出数组s中的所有奇数的和,和所有偶数的和,奇数和用指针add返回,

//偶数和用指针even返回,在主函数内做输入输出,子函数做数据处理

/*

#include

int *fun();

int *funfun();

int nun[10]={};

int main()

{

    int i;

    printf("请输入十个数:");

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

    {

        scanf("%d",&nun[i]);

    }

    fun();

    funfun();

    printf("这个数组中奇数和是%d\n\

    这个数组的偶数和是%d\n",(*fun()),(*funfun()));

}

int *fun()

{

    int j;

    int s=0,c=0;

    int *add;

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

    {

        if(nun[j]%2==1)

        s=s+nun[j];

        else

        c=c+nun[j];

    }

    add=&s;

    return add;

}

int *funfun()

{

    int j;

    int s=0,c=0;

    int *even;

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

    {

        if(nun[j]%2==1)

            s=s+nun[j];

        else

            c=c+nun[j];

     }

    even=&c;

    return even;

}

*/

//第三题:输入10个整数,将最小的数与第一数调换,最大的数和最后一个调换

//用指针分别写三个函数

//输入10个整数

//按要求对数进行交换

//输出10个数

/*

#include

int *fun(int *p);

int *funfun(int *p);

int main()

{

    int a[10]={0};

    int i;

    printf("请输入十个数:");

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

    {

        scanf("%d",&a[i]);

    }

    fun(a);

    funfun(a);

}

int *fun(int *p)

{

    int b[10]={0};

    int i,j;

    int s=0;

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

    {

        b[i]=*(p+i);

    }

    for(j=0;j<9;j++)

    {

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

        {

            if(b[i]>b[i+1])

            {

                s=b[i];

                b[i]=b[i+1];

                b[i+1]=s;

            }

        }

    }

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

    {

        if(*(p+i)==b[0])

        {

            *(p+i)=*p;

        }

    }

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

    {

        if(*(p+i)==b[9])

        {

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

        }

    }

    *p=b[0];

    *(p+9)=b[9];

}

int *funfun(int *p)

{

    int i;

    printf("将其中最小的数与第一个数对换,最大的数与最后一个数对换,结果是:\n");

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

    {

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

    }

    printf("\n");

}

*/

//第四题:写一个函数int digit(int n,int k)返回n的从右到左的第K个十进制数字符位

//例如:digit(1357,2),      返回5

/*

#include

int digit(int n,int k);

int main()

{

    int a,b;

    scanf("%d",&a);

    scanf("%d",&b);

    printf("%d",digit(a,b));

}

int digit(int n,int k)

{

    int a=1,b=1;

    int i;

    for(i=0;i

    {

        a=a*10;

    }

    for(i=0;i

    {

        b=b*10;

    }

    return (n%a)/b;

}

*/

//第五题:给一个不多于9位的正整数,13657,75631

//要求:(求它是几位数)(逆序打印出各位数字,拼成一个整形数字)

/*

#include

int main()

{

    int a,s=0,sum=0;

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

    scanf("%d",&a);

    while(a%10!=0)

    {

        s+=1;

        sum=sum*10+a%10;

        a=a/10;

    }

    printf("它是%d位数,逆序输出为%d",s,sum);

}

*/

你可能感兴趣的:(20-01-02培训内容)