第十四周-数组大折腾

来源:互联网 发布:无主之地2淘宝 编辑:程序博客网 时间:2024/05/22 10:53

(1)

#include <stdio.h>#include <stdlib.h>int main(){    int i,a[20]={4,5,7,63,474,4,5,4,7,45};    for(i=10;i<20;++i)    {        scanf("%d",&a[i]);    }    for(i=0;i<20;++i)    {        printf("%d",a[i]);        if((i+1)%5==0)            printf("\t");    }    return 0;}


 

(2)

#include <stdio.h>#include <stdlib.h>int main(){    int i,a[10]={0,1,2,3,4,5,6,7,8,9};    for(i=0;i<10;++i)//++i比i++效率高,因为不用生成中间变量    {        printf("%d",a[i]);    }    for(i=0;i<10;++i)    {        a[i]*=2;    }      for(i=0;i<10;++i)    {        printf("%d",a[i]);    }    return 0;}

(3)

#include <stdio.h>#include <stdlib.h>int main(){    int i,a[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};    printf("数组中,元素值为3的倍数的数是:\n");    for(i=0;i<16;++i)    {        if(a[i]%3==0)            printf("a[%d] %d\n",i,a[i]);    }    printf("下标为3的倍数的元素值是;\n");    for(i=0;i<16;i+=3)    {         printf("a[%d] %d\n",i,a[i]);    }    return 0;}

(4)

#include <stdio.h>#include <stdlib.h>int main(){    int i,j,a[16]= {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};    /*        for(i=0;i<16;++i)        {            if(a[i]%3==0)                {                    for(j=i;j<16;++j)                    {                        a[j]=a[j+1];                    }                }        }        */多用了一个循环    for(i=0,j=0; i<16; ++i)    {        if(a[i]%3)       //等同于(a[i]%3!=0)            a[j++]=a[i];    }    //这是贺老师的解答,只用了一个for循环,利用了j++的自增作用    for(i=0; i<16; ++i)    {        printf("%d ",a[i]);    }    return 0;}

(5)

#include <stdio.h>#include <stdlib.h>int main(){    int i,n,a[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};    scanf("%d",&n);    for(i=15;i>0;--i)    {        a[i]=a[i-1];    }    a[0]=n;    for(i=0;i<16;++i)    {        printf("%d ",a[i]);    }    return 0;}

 

0 0
原创粉丝点击