一、基础知识
数组的定义、初始化、引用和遍历
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.可以用输入语句把字符串整体输入给字...