大学一年级下学期C语言程序设计实验报告答案完整版 下载本文

内容发布更新时间 : 2024/5/2 6:26:36星期一 下面是文章的全部内容请认真阅读。

优秀学习资料 欢迎下载

for(j=0;j<=4;j++) if(j==i) switch(j) {

case 0:a=1;b=0;c=0;d=0; break;

case 1:a=0;b=1;c=0;d=0; break;

case 2:a=0;b=0;c=1;d=0; break;

case 3:a=0;b=0;c=0;d=1; break;

default:break; }

if(a+b+c==1&&b+c==1&&c+d==1&&b+c+d==1) printf(\做好事的人是%c\\n\ }

getchar(); }

实验四 数组程序设计 实验

( 验证性 综合性 实验 4学时)

1、目的要求:

(1)掌握一维和二维数组的使用技巧。 (2)编写实验报告。

2、实验内容(参考实验指导书):

(1)从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。比如原来数组为:2 -5 -89 75 0 -89 0 93 48 0,经过处理后的数组为:-5 -89 -89 0 0 0 75 93 48 2。由于不要求数组有序,所以不允许用排序方法。

提示:

1)输入N个数据,构建数组。

2)按照要求确定数据的位置,需要注意循环条件的确定、0数据元素往中间推的实现过程以及数组处理的方向。

#include

#include #define N 10 main()

优秀学习资料 欢迎下载

{ }

int a[N]={2,-5,-89,75,0,-89,0,93,48,0}; int i,t,j;

for(i=0;i

printf(\printf(\for(i=0;i

for(j=i+1;j

if(a[i]>0&&a[j]<0) {

t=a[i]; a[i]=a[j]; a[j]=t; }

else if(a[i]>0&&a[j]==0) {

t=a[i]; a[i]=a[j]; a[j]=t; }

else if(a[i]==0&&a[j]<0) {

t=a[i]; a[i]=a[j]; a[j]=t; } } }

for(i=0;i

printf(\printf(\

(2)设数组a的定义如下:

int a[20] = {2,4,6,8,10,12,14,16}; 已存入数组中的数据值已经按由小到大的顺序存

优秀学习资料 欢迎下载

放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。请编写一个程序实现上述功能。

提示:

1)定义整型数组并初始化。 2)从键盘输入一个数据。

3)将该数据插入到数组中,由于要保证插入的数组仍然有序,所以需要查找插入的位置。

4)输出插入数据以后的数组。

#include main() {

int a[9]={2,4,6,8,10,12,14,16}; int i,j,number; printf(\原数组\\n\

for(i=0;i<=8;i++)//输出数组原有的元素 printf(\ printf(\

printf(\请输入一个数据\\n\ scanf(\ i=0;//以下三行找到插入位置 while(a[i]

for(j=7;j>=i;j--)//将插入点以后的元素顺序往后移一位 a[j+1]=a[j];

a[i]=number;//插入数据 printf(\输出改变后的数组\\n\

for(i=0;i<=8;i++)//输出插入后仍有序的数组 printf(\ }

优秀学习资料 欢迎下载

(3)写一个3 x 5矩阵的转置程序,输出其原矩阵的值和转置以后的结果。

提示:

1)定义一个二维数组及相关变量。

2)对二维数组赋值,可以由键盘输入,也可以通过其他方式赋值。 3)输出转置前的二维数组。 4)对二维数组中的值进行转置。 5)输出转置后的二维数组中的值。

#include #include main() {

int i,j;

int a[3][5]={1,2,3,4,5,6,7,8,9,1,2,3,4,5,0}; for(i=0;i<3;i++){ for(j=0;j<5;j++)

printf(\ printf(\ }

printf(\转置后的矩阵为\\n\ for(i=0;i<5;i++){ for(j=0;j<3;j++)

printf(\ printf(\ } }

优秀学习资料 欢迎下载

(4)编程实现随机产生10个位于区间[100 200]互不相等的整数,并将其按降序排序和输出。

#include #include #include

#define random(x)(rand()1+100) main() {

int i,j,k,n;//产生随机数 int a[10];

srand((int)time(0)); for(i=0;i<=9;i++){ a[i]=random(200); printf(\ }

printf(\

for(i=0;i<=9;i++){//排序 k=i;

for(j=i;j<10;j++) if(a[k]

printf(\排序后的数组为\\n\ for(i=0;i<10;i++) printf(\ printf(\ }

实验五 函数 实验

( 验证性 综合性 实验 5学时)

1、目的要求:

(1)学习函数的编程思想,编写一个包括3~4个函数的程序。