c语言实验报告第5章答案.doc,《经典规范C语言程序设计》实验报告(第五章).doc...

本实验报告详细记录了学生在《高级语言程序设计》课程中关于数组操作(求和、字符串连接)、选择排序与插入操作、二维数组处理(鞍点查找)等任务的实践。通过实例展示了如何用C语言实现算法,并分享了调试过程中的问题解决和心得体会。
摘要由CSDN通过智能技术生成

《经典规范C语言程序设计》实验报告(第五章)

《高级语言程序设计》实验报告

班级: 学号: 姓名: 成绩: 实验日期: 年 月 日

实验题目: 实验五 数组程序设计实验目的:

实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和必要的说明。)

原始数据、相应的运行结果和必要的说明。

原始数据、相应的运行结果和必要的说明。

分析与思考:(调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会)

1

1.改错题

1)为指定的数组输入10个数据,并求和。.c存盘。

#include

void main int n 10,i,sum 0;

int a[n];

for i 0;i 10;i++ scanf "%d",a[i] ; sum sum+a[i]; printf "sum %d\n",sum ; (2)将字符串b连接到字符串a。.c存盘。

#include

void main char a[] "wel",b[] "come";

int i,n 0;

while !a[n] n++;

for i 0;b[i]! '\0';i++ a[n+i] b[i];

printf "%s\n",a ; (2)#define N 20

#include "stdio.h"

void main int a[N],i,j,k,t;

printf "排序前:\n" ;

for i 0;i N;i++ a[i] _________________;

printf "%5d",a[i] ; for i 0;i N-1;i++ k i;

for j i+1;j N;j++ if _________________ k j;

if _________________ t a[k]; a[k] a[i]; a[i] t; printf "排序后:\n" ;

for i 0;i N;i++ printf "%5d",a[i] ; (3)一行文字,删其中某个字符,此行文字和删的字符均由键盘输入,

#include

#include

void main char line[80] ;

char ch;

int i,j;

int len;

printf "输入一行字符 \n" ; ;

printf "输入要删除字符 " ;

ch getchar ;

i 0;

while line[i]! '\0' while && line[i]! ch i++; len strlen line ; for j i;j len-1;j++ ; line[j] '\0'; puts line ; 3.编程题

(1)任意输入10个整数的数列完成下列运算:

要求用选择排序法将数列由小到大排序;

在排序好的数列中插入一个数,使数列保持从到的顺序。

(2)输入字符串s1和s2以及插入位置d,在字符串s1中的指定位置d处插入字符串s2。如:输入字符串"SHHAI"、"ANG"和位置3,则输出: "SHANGHAI";若d大于串s1长度时,串s2插入在s1后面,如s1 "SHANG",S2 "HAI",d=8,则s1 "SHANGHAI"。

(3)找出一个二维数组的“鞍点”,即该位置上的元素在该行是最大,在该列是最小。注意二维数组可能没有“鞍点”

(3).c存盘。

#include

void main int a[2][3],b[2][3],c[2][3],i,j; for i 1; i 2;i++ for j 1; j 3; j++ scanf "%d",a[i][j] ; for i 1; i 2; i++ for j 1; j 3; j++ scanf "%d",b[i][j] ; for i 1; i 2; i++ //A+B矩阵,每个对应元素相加 for j 1; j 3; j++ c[i][j] a[i][j]+b[i][j]; for i 1; i 2; i++ for j 1; j 3; j++ printf "%3d",c[i][j] ; printf "\n" ; 2.)#include "stdio.h"

#define N 10

main int a[ ] 0,1,2,3,4,5,6,7,8,9 ,k;

int low 0,high N-1,mid,find 0;

printf "请输入欲查找的值:\n" ;

scanf "%d",&k ;

while low high mid low+high /2;

if a[mid] k printf "找到位置为:%d\n",mid+1 ;find 1; if a[mid] k ______

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值