C语言实验报告(答案)(7)

2019-04-16 21:39

原始数据序列为:{5,8,12,15,26,78,92,93,102},需要插入的数据值为25。 算法思想:(1)通过比较,确定需要插入的位置。

(2)从插入位置开始,所有数据依次右移(后移)1位,然后将数据插入

到确定的位置上。

#include

#define N 10

int a[N]={5,8,12,15,26,78,92,93,102}; main()

{ int i,j,k,data=25; clrscr();

for(i=0;i

if(data=k;j--)

_______________; /*填空位置(2),插入位置之后所有元素依次右移1位*/

_______________; /*填空位置(3),将指定的数据插入到有序序列中*/ for(i=0;i<=N-1;i++)

printf(\

} 填空位置 1 2 3 实验运行结果

(2) 计算矩阵边界元素的和。

#include #define M 4 #define N 4

int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; main()

{int i,j,s=0;

31

人工填空语句 实验填空语句 找到数据位置退出循环 a[j+1]=a[j] a[j]=data 5,8,12,15,25,26,78,92,93,102 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16

for(i=0;i<=M-1;i++)

for((1)__________;(2)__________;j++) if((3)____________________) s=s+a[i][j];

printf(\} 填空位置 1 2 3 实验运行结果 3.编程题:

(1)编辑程序,将用户输入的任意字符串中的数字字符全部删除,形成新的字符串输出。 main()

{ char s[],t[]; int l,i,n=0;

gets(s); l=strlen(s); for(i=0;i<=l;i++)

if(s[i]>=’0’&&s[i]<=’9’) continue; else t[n++]=s[i]; t[n]=’\\0’; printf(“%s”,t); }

(2) 输入n个学生成绩,计算他们的平均值并输出所有高于平均成绩的学生成绩。 main() { int n,i;

float a[100],aver=0; sanf(“%d”,&n); for(i=1;i<=n;i++) { scanf(“%f”,&a[i]); aver+=a[i];

32

人工填空语句(或表达式) 实验填空语句(或表达式) j=0 j<=n-1 i==0||j==0||i==M-1||j==N-1

}

aver=aver/n;

printf(“%f\\n”,aver); for(i=1;i<=n;i++)

if(a[i]>aver) printf(“%f ”,a[i]); } 4.综合题: 程序: 顺序排序:

#include main() {

int i, j, tem, A[10]; printf(“输入10个整数:”); for(i=0; i<=9; i++)

scanf(“%d”,&A[i]); /*输入*/

for(i=0; i<=8; i++) /*确定擂台下标 */ for(j=i+1;j<=9; j++)

if(A[j]>A[i]) /* 与擂台上的数比较 */ { /* 大者交换至擂台上 */

tem=A[i]; A[i]=A[j]; A[j]=tem; }

printf(“\\n降序排序后的结果是:\\n”);

for(i=0; i<=9; i++) printf(“%d\\t”,A[i]); /* 输出 */ }

选择排序:

#include main() {

int i, j, tem, k, A[10]; printf(“输入10个整数:”);

for(i=0; i<=9; i++) scanf(“%d”,&A[i]); /*输入*/ for(i=0; i<=8; i++)

33

{ k=i; /*最大者下标初值 */ for(j=i+1;j<=9; j++)

if(A[j]>A[k]) k=j; /* 调整最大者下标 */ tem=A[i]; A[i]=A[k]; A[k]=tem; /* 交换 */ }

printf(“\\n降序排序后的结果是:\\n”);

for(i=0; i<=9; i++) printf(“%d\\t”,A[i]); /* 输出 */ }

冒泡排序:

#include main()

{ int A[10], i, j, temp; printf(“输入10个整数: ”);

for(i=0; i<=9; i++) scanf(“%d”,&A[i]); /* 输入 */ for(i=0; i<=8; i++) /* 冒泡9轮 */

for(j=0; j<=9-i-1; j++) /* 第i轮冒泡,将最值移至A[9-i] */ if(A[j]>A[j+1])

{temp =A[j]; A[j] =A[j+1]; A[j+1] =temp;} printf(“\\n升序排序结果是:\\n”);

for(i=0; i<=9; i++) printf(“%d\\t”,A[i]); /* 输出 */

流程图:

顺序排序: 选择排序: 冒泡排序:

34

实验7 综合程序设计:综合运用C语言基本知识设计程序

班 级 专 业 所用软件 学 号 姓 名 计算机号 实 验 室 成绩评定 教师签名 7.1 实验目的

通过本次实验,使学生能够灵活运用所学知识,完成程序设计,进一步提高程序设计 的能力。

7.2 实验预习

1.复习函数的相关知识。 2.复习数组的相关知识。

7.3 实验任务

1. 餐饮服务质量调查打分 解法一:

#include #define STUDENTS 40 #define GRADE_SIZE 11 main()

{ int i, j, grade;

int score[STUDENTS], count[GRADE_SIZE] = {0}; printf(\ students:\\n\ for (i=0; i

scanf(\ }

for ( i=0; i

switch (score[i])

{

case 1: count[1]++; break;

35


C语言实验报告(答案)(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:15册美术教案[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: