2020-04-14

#include<stdio.h>

#include<stdlib.h>

int n=0;

int arr[100];

//十进制转换八进制

void Tes1(int a)

{

arr[n]=a%8;

    if(a<8)

    {

        return;

    }

  n++;

Tes1(a/8);

}

void Test1Put(int a)

{

Tes1(a);

int i;

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

{

printf("%d",arr[n-i]);

}

}

//八进制转换十进制

void Ten_Eight(int a)

{

    int i,sum=0,nn;

int index=0;

sum+=a%10;

while(a>=10)

{

nn=a/10%10;

        index++;

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

        {

        nn*=8;

        }

        sum+=nn;

        a/=10;

}

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

}

//奇数和

int* JiShu(int *arr)

{

    int i,sum=0;

    int *add;

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

{

        if(i%2==1)

        {

        sum+=arr[i];

        }

}

add=&sum;

return add;

}

//偶数和

int* OuShu(int *arr)

{

    int i,sum=0;

    int *even;

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

{

        if(i%2==0)

        {

        sum+=arr[i];

        }

}

even=&sum;

return even;

}

//第四题 写一个函数int digit(int  n,int k),

//返回n的从右向左的第k个十进制数字位值;例如:digit(1357,2),将返回5.

int digit(int n,int k)

{

char arr[200];

itoa(n,arr,10);

printf("\n%c\n",arr[k]);

}

//给一个不多于9位的正整数1)求它是几位数 逆序打印

void IfNumber(int a)

{

int i=1;

int n=a;

printf("倒叙输出:%d",a%10);

while(a>=10)

{

printf("%d",a/10%10);

a/=10;

i++;

}

printf("\n%d是%d位数\n",n,i);

}

//输入10个整数,将其中最小的数与第一个数对换,最大的数与最后一个数对换,

//要求用指针法分别写三个函数;输入10个整数;按要求对数进行交换;输出10个数

void PutFun(int *arr)

{

int i;

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

{

printf("%d ",arr[i]);

}

}

int* ScanfFun()

{

int arr[10];

scanf("%d%d%d%d%d%d%d%d%d%d",&arr[0],&arr[1],&arr[2],&arr[3],

&arr[4],&arr[5],&arr[6],&arr[7],&arr[8],&arr[9]);

int *p=arr;

return p;

}

void ChangeFun(int *arr)

{

int i,j,temp;

int num[10];

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

{

num[j]=arr[j];

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

{

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

    {

    temp=arr[i];

    arr[i]=arr[i+1];

    arr[i+1]=temp;

    }

    }

}

    num[0]=arr[0];

    num[9]=arr[9];

    PutFun(num);

}

void main()

{

int numArr[10]={2,1,2,9,0,5,6,7,8,1};

printf("奇数和:%d,偶数和:%d\n",*JiShu(numArr),*OuShu(numArr));

printf("\n十进制转换八进制结果:");

Test1Put(633);

printf("\n八进制转换十进制结果:");

Ten_Eight(1171);

digit(146456,3);

IfNumber(6542);

ChangeFun(numArr);

PutFun(ScanfFun());

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,403评论 0 2
  • C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的 算法 题目:...
    Poison_19ce阅读 1,169评论 0 0
  • 题目来源:1、中兴、华为、慧通、英华达、微软亚洲技术中心等中外企业面试题目;2、C 语言面试宝典(林锐《高质量编程...
    月震阅读 1,843评论 0 1
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 1,614评论 0 9
  • 今天继续学习了指针的内容 指针的难度教之前学习的内容难度有所上升,今天主要的内容就是对指针问题的继续学习与复习。 ...
    Sergey_2ab6阅读 187评论 0 0