C语言练习 数组 附答案

发布 2022-09-05 03:22:28 阅读 8089

一、基础知识

数组的定义、初始化、引用和遍历

1、定义一个整型数组 a,长度为 10,全部赋值为 0~9,以“%d\t”格式输出所有元素。

2、定义一个整型数组 b,长度为 6,第 1 个元素为 2,第 3 个元素 4,第 4 个元素为 5,其它赋值为 0,以“%d\t”格式输出所有元素。

3、定义一个浮点型数组 c,赋值为,以“%.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_

2、如果要求程序实现数组元素的顺时针转动,那么应该如何修改 test4_

3、有一个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中。完善 test4_

4、给定平面上 10 个点,求其中离原点最近的点。源程序用一维数组 x 存放这10 个点的 x 坐标,用一维数组 y 存放相应的 y 坐标,即第 i 个点的坐标为(x[i], y[i])。完善 test4_

#include<>

int main()

int a[10]=;

int i;

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

printf("%d\t",a[i]);

return 0;

#include<>

int main()

int b[6]=;

int i;

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

printf("%d\t",b[i]);

return 0;

#include<>

int main()

float c=

int i;

for(i=0;i printf("%4f\t",c[i]);

return 0;

#include<>

int main()

int b[6]=;

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("");

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

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

return 0;

#include<>

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

#include<>

int main()

int i, t, a[5];

printf("请输入5个整数:");

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

scanf("%d",&a[i填空1)输入的数据依次存放在数组里

t = a[0

for(i=1 ; i<5 ; i填空2)数组里的元素从下标为1开始依次前移一个存储单元

a[i-1]=a[i

//(填空3)把t赋值到相应的位置

a[4]=t;

printf("逆时针转动一次后:");

for(i=0; i<5; i填空4)输出数组a中的所有元素(遍历数组a)

printf("%5d", a[i] )填空5)以"%5d"的形式输出a中的每一个元素

return 0;

#include<>

int main()

int i, t, a[5];

printf("请输入5个整数:");

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

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

t = a[4修改1)

for(i=4; i>0; i修改2)

a[i] =a[i-1修改3)

a[0] =t修改4)

printf("顺时针转动一次后:");修改5)

for(i=0; i<5; i

printf("%5d", a[i]);

return 0;

#include<>

int main()

int i, j, n;

int a[6] =

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

scanf("%d", n);

//找到n要插入的位置i(下标) (用for循环实现:3行**)

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

if(nbreak;

//如果i<5,则把a中从下标i开始的数据依次往后移一个存储单元(3行**实现)

if(i<5)

a[i] =n; /把n插入到数组a中相应的位置上

printf("排序后输出:");

for(i=0; i<6; i

printf("%5d", a[i]);

return 0;

#include<>

int main()

int index, i; /index是离原点最近的点的下标。

double minmin是到原点的最近距离的平方

double x=赋初值。

double y=赋初值。

//(填空1)设第0个点为最近点,需要做两件事

index= 0 ;

min=x[0]*x[0]+y[0]*y[0];

//(填空2)用for循环实现所有点遍历、与min的比较及index中始终保存最小点的下标

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

printf("%d: x=%.2f, y=%.2f ", index, x[index],y[index]);输出最近点的下标和坐标。

return 0;

C语言数组答案

c第5次上机练习 数组。1 输入n个整数,用一维数组存放,然后将这n个整数逆序存放并输出。2 将1 200中所有11的倍数存放到一个一维数组中,并输出。3 有n个已经按由小到大排好序的整数,再输入一个整数,将其插入到这批数据中,要求插入该元素后仍然按由小到大的顺序排列。4 二维数组 求一个n n矩阵...

c语言例题4 数组 答案

1 斐波那契数列 如果设f n 为该数列的第n项 n n 那么这句话可以写成如下形式 f 1 1,f 2 1,f n f n 1 f n 2 n 3 也就是说,从第三个数开始,每一个数是它前面两个数的和。要求 使用数组,输出斐波那契数列的前20项。include void main int i 0 ...

C语言 数组 习题与答案

一 单选题。1 下列描述中不正确的是 a.字符串的结束符是 0 b.可以对字符型数组进行整体输入 输出。c.字符型数组中能存放字符串。d.字符串函数声明在中。正确答案 d2 下面是有关c语言字符数组的描述,其中错误的是 a.不可以用赋值语句给字符数组名赋字符串。b.可以用输入语句把字符串整体输入给字...