练习 4—数组(附答案)c 字符串转数组
一、基础知识
数组的定义、初始化、引用和遍历
1、定义一个整型数组 a,长度为 10,全部赋值为 0~9,以“%d\t”格式输出所有元素。
2、定义一个整型数组 b,长度为 6,第 1 个元素为 2,第 3 个元素 4,第 4 个元素为 5,其它赋值为 0,以“%d\t”格式输出所有元素。
3、定义一个浮点型数组 c,赋值为{1.7, 2.13, 4.2, 5.16, 7.3333, 3.5, 6.768, 11.11},以“%.4f\t”格式输出 c 中所有元素。
4、定义一个整数数组 d,长度为 6,把上述数组 b 中的元素复制到 d 中,使得数组 b 和数组 d 中存放相同元素,以“%d\t”格式先打印 a 中的元素,接着打印 b中的元素。
5、定义一个整型数组 e,长度为 5,依次从控制台输入数组中的各元素 1,2,3,4,5,并在控制台以“%6d\t”格式输出打印 e 中所有元素。
二、填空式编程
1、输入 5 个整数, 将这 5 个数按逆时针顺序转动一次后再输出,如输入 1  2  3  4  5,逆时针转动一次后,输出 2  3  4  5  1。要求用数组实现。完善 test4_1.c。
2、如果要求程序实现数组元素的顺时针转动,那么应该如何修改 test4_2.c
3、有一个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。完善 test4_3.c
4、给定平面上 10 个点,求其中离原点最近的点。源程序用一维数组 x 存放这10 个点的 x 坐标,用一维数组 y 存放相应的 y 坐标,即第 i 个点的坐标为(x[i], y[i])。完善 test4_4.c
1.
#include<stdio.h>
int main()
{
    int a[10]={0,1,2,3,4,5,6,7,8,9};
    int i;
    for(i=0;i<10;i++)
        printf("%d\t",a[i]);
    return 0;
}
2.
#include<stdio.h>
int main()
{
    int b[6]={2,0,4,0,5,0};
    int i;
    for(i=0;i<6;i++)
        printf("%d\t",b[i]);
    return 0;
}
3.
#include<stdio.h>
int main()
{
    float c[]={1.7, 2.13, 4.2, 5.16, 7.3333, 3.5, 6.768, 11.11};
    int i;
    for(i=0;i<sizeof(c)/sizeof(c[0]);i++)
        printf("%.4f\t",c[i]);
    return 0;
}
4.
#include<stdio.h>
int main()
{
    int b[6]={[0]=2,[2]=4,[3]=5,0};
    int d[6],i ;
    for(i=0;i<6;i++)
    d[i]=b[i];
    for(i=0;i<6;i++)
    printf("%d",b[i]);
    printf("\n");
    for(i=0;i<6;i++)
    printf("%d",d[i]);
    return 0;
}
   
5.
#include<stdio.h>
int main()
{
    int e[5],i;
    for(i=0;i<5;i++)
    scanf("%d",&e[i]);
    for(i=0;i<5;i++)
    printf("%d",e[i]);
    return 0;
}
Test
1.
#include<stdio.h>
int main()
{   
    int i, t, a[5];
    printf("请输入5个整数:\n");
    for(i=0; i<5; i++)
    scanf("%d",&a[i]);                  //(填空1)输入的数据依次存放在数组里
    t = a[0];           
    for(i=1 ; i<5 ; i++)    //(填空2)数组里的元素从下标为1开始依次前移一个存储单元       

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。