C语言程序设计 练习题参考答案 第四章 一维数组
C语言程序设计 练习题参考答案 第四章(1) 一维数组 /* 4.11 fibonacci数列,前15项1,1,2,3,5,。。。。。*/ #include "stdio.h" void main() {
int f[15]={1,1}, i;
for(i=2;i<=14;i++) /* 计算 */ f[i]=f[i-2]+f[i-1];
printf("fibonacci数列,前15项\n"); /* 输出 */ for(i=0;i<=14;i++) {
printf("%5d",f[i]); if((i+1)%5==0) printf("\n"); } }
/* 4.12 数组元素前移动一个位置 */ #include "stdio.h" void main() {
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,t;
printf("\n移动之前:\n"); for(i=0;i<=9;i++)
printf("%3d",a[i]); /* 移动 */ t=a[0];
for(i=0;i<=9;i++) a[i]=a[i+1]; a[9]=t;
printf("\n移动之后:\n"); for(i=0;i<=9;i++)
printf("%3d",a[i]); }
/* 4.13 有序数列中插入若干个数,仍然保持有序 */
#include "stdio.h" void main() {
int a[100]={1,4,8,10};
int i,k,x,count=4;/* i,k 循环变量, x 输入整数,count 有多少整数*/
printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n");
scanf("%d",&x); while(x!=-1) {
/* 寻找插入位置 */ for(i=0;i
{
/* 找到插入位置 */ if(a[i]>=x)
{
/* 移动 */
for(k=count;k>i;k--) a[k]=a[k-1];
a[i]=x; break; }
} if(i>=count)
a[i]=x;
count=count+1;
printf("\n插入之后的数组为:\n");
for(i=0;i
printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n");
scanf("%d",&x); }}
/* 4.15 将十进制数转换成二进制数,并按位存放到数组中。(限正整数) */
#include "stdio.h" #include "conio.h" void main() {
int decimal, binary[32], i=0, quotient;
printf("请输入一个十进制数\n"); scanf("%d",&decimal); /* 计算 */
quotient=decimal/2; binary[i]=decimal%2; decimal=quotient; while(quotient!=0) {