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

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

提示:

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个函数的程序。

(2)掌握函数中参数传递的两种方式和函数的相互调用。 (3)编写实验报告。

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

(1)写一个函数int digit( int n , int k ),它返回数n的从右向左的第k个十进数字值。例如,函数调用digit(1234,2)将返回值3。

#include void digit(int n,int k); main() {

int x,y;

printf(\请输入一个数据\\n\ scanf(\ digit(x,y); }

void digit(int n,int k) {

int i,j,a,b; b=n; a=(n/10); j=(n/100); i=(n/1000);

n=1000*i+100*j+10*a+b; if(k==1)

printf(\ else if(k==2)

printf(\ else if(k==3)

printf(\ else if(k==4)

printf(\}

(2)写一个函数int isprime(int n),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。