提高篇 第16-19课后---项目1 - 数组大折腾

来源:互联网 发布:淘宝职业打假人被判刑 编辑:程序博客网 时间:2024/06/06 08:47
【项目1 - 数组大折腾】

(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后(从第0个到第19个)输出数组中元素的值,每5个元素换一行。

代码:

/*数组大折腾*/#include <stdio.h>void into(int b[]);void put(int b[]);int main(){    int a[20]={1,2,3,4,5,6,7,8,9,10};    into(a);    put(a);    return 0;}void into(int b[]){    int c,i;    for(i=10;i<20;i++)    {        printf("请输入值:");        scanf("%d",&c);        b[i]=c;    }}void put(int b[]){    int i=0;    do    {        printf("%d ",b[i]);        i++;        if(i%5==0)            printf("\n");    }while(i<20);}
(2)创建一个长度为10的整型数组并初始化,由后往前(由第9个元素向第0个元素方向)输出数组中所有元素的值,改变数组元素的值,令所有的数据加倍,输出改变后的值。
代码:

/*数组大折腾*/#include <stdio.h>void put_1(int b[],int i);void put_2(int c[],int i);int main(){    int a[10]={0,1,2,3,4,5,6,7,8,9};    put_1(a,9);    put_2(a,9);    return 0;}void put_1(int b[],int i){    printf("从后往前该数组值依次是:");    for(;i>=0;i--)        printf("%d ",b[i]);    printf("\n");}void put_2(int c[],int i){    for(;i>=0;i--)        c[i]*=2;    put_1(c,9);}
(3)创建一个长度为16的整型数组a并初始化,先输出数组中元素值为3的倍数的数,再输出所有下标为3的倍数的元素值。

代码:

/*数组大折腾*/#include <stdio.h>#include <time.h>#include <windows.h>void Put_1(int b[],int i);void Put_2(int c[],int i);void Time_1(int d[],int i);int main(){    int a[16];    Time_1(a,0);    Put_1(a,0);    Put_2(a,0);    return 0;}void Put_1(int b[],int i){    printf("数组中元素值为3的倍数的数是:\n");    for(;i<16;i++)    {        if(b[i]%3==0)            printf("a[%d]----%d\n",i,b[i]);    }    printf("\n");}void Put_2(int c[],int i){    printf("下标为3的倍数的元素值是:\n");    for(;i<16;i++)    {        if(i%3==0)            printf("a[%d]----%d\n",i,c[i]);    }    printf("\n");}void Time_1(int d[],int i){    srand(time(0));    printf("正在随机生成数组值……………………请稍后\n");    Sleep(2000);    printf("随机产生的数组元素值为:\n");    for(;i<16;i++)        {            d[i]=rand()%100;            printf("%d ",d[i]);        }        printf("\n");}
(4)创建一个长度为16的整型数组a并初始化,删除数组中所有能被3整除的元素(数组中实际有效使用的元素将不足16),输出删除后数组中的全部元素。

代码:

/*数组大折腾*/#include <stdio.h>#include <time.h>#include <windows.h>void Put_1(int b[],int i,int n);void Put_2(int c[],int i);void Time_1(int d[],int i);int main(){    int a[16];    Time_1(a,0);    Put_1(a,0,0);    return 0;}void Put_1(int b[],int i,int n){    printf("正在删除数组中能被3整除的数:\n");    Sleep(2000);    for(;i<16;i++)    {        if(b[i]%3!=0)            b[n++]=b[i];        else            printf("a[%d]----%d已被删除\n",i,b[i]);    }    printf("删除完毕!\n");    Put_2(b,n);}void Put_2(int c[],int i){    int f;    printf("删除后的数组值为:\n");    for(f=0;f<=i;f++)    {            printf("a[%d]----%d\n",f,c[f]);    }}void Time_1(int d[],int i){    srand(time(0));    printf("正在随机生成数组值……………………请稍后\n");    Sleep(2000);    printf("随机产生的数组元素值为:\n");    for(;i<16;i++)        {            d[i]=rand()%100;            printf("%d ",d[i]);        }        printf("\n");}
(5)创建一个长度为16的整型数组a并初始化前15个元素,输入一个整数b,将b插入到a[0]位置(原有的数据往后“移动”)。

代码:

/*数组大折腾*/#include <stdio.h>#include <time.h>#include <windows.h>void Put_1(int b[],int i);void Put_2(int c[],int i);void Time_1(int d[],int i);int main(){    int a[16];    Time_1(a,0);    Put_1(a,0);    return 0;}void Put_1(int b[],int i){    int s;    printf("请输入一个整数:\n");    scanf("%d",&s);    Put_2(b,15);    b[0]=s;    printf("插入b值后的数组排列为:\n");    for(i=0;i<16;i++)        printf("%d ",b[i]);}void Put_2(int c[],int i){    for(i=15;i>=0;i--)    {        c[i]=c[i-1];    }}void Time_1(int d[],int i){    srand(time(0));    printf("正在随机生成数组值……………………请稍后\n");    Sleep(2000);    printf("随机产生的前15个数组元素值为:\n");    for(;i<15;i++)        {            d[i]=rand()%100;            printf("%d ",d[i]);        }        printf("\n");}




0 0
原创粉丝点击