实验3要求(数组)

合集下载

程序类实验报告

程序类实验报告

实验名称:程序设计基础实验实验目的:1. 理解程序设计的基本概念和原理。

2. 掌握编程语言的基本语法和编程技巧。

3. 提高程序调试和问题解决能力。

实验时间:2023年X月X日实验地点:计算机实验室实验器材:1. 计算机2. 编程软件(如Visual Studio、Eclipse等)3. 实验指导书实验内容:一、实验一:基本语法学习1. 实验目的了解编程语言的基本语法,包括变量声明、数据类型、运算符、控制结构等。

2. 实验步骤(1)编写一个简单的C程序,实现变量声明、赋值、打印输出。

(2)使用if语句实现一个简单的判断功能。

(3)使用for循环实现1到10的累加和。

(4)使用while循环实现计算两个数的最大公约数。

3. 实验结果(1)变量声明、赋值、打印输出:```c#include <stdio.h>int main() {int a = 10, b = 20;printf("a = %d, b = %d\n", a, b); return 0;}```(2)if语句实现判断功能:```c#include <stdio.h>int main() {int a = 5, b = 10;if (a > b) {printf("a > b\n");} else {printf("a <= b\n");}return 0;}```(3)for循环实现累加和:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的累加和为:%d\n", sum); return 0;}```(4)while循环计算最大公约数:```c#include <stdio.h>int main() {int a = 48, b = 18, temp;while (b != 0) {temp = b;b = a % b;a = temp;}printf("最大公约数为:%d\n", a);return 0;}```二、实验二:函数使用1. 实验目的了解函数的概念和作用,掌握函数的声明、定义和调用。

C语言实验五实验报告——数组

C语言实验五实验报告——数组

C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。

通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。

数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。

数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。

可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。

数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。

二维数组数组可分为一维和多维数组。

一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。

二维数组有行号和列号,因此,它同样需要两个下标。

数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。

三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。

程序执行正常。

3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。

实验三 高斯消去法和三角分解法1

实验三 高斯消去法和三角分解法1

实验报告实验三 高斯消去法与矩阵的三角分解一、实验目的1、掌握列主元素消去法,并且能够用MATLAB 编写相关程序,实现高斯消去法的求解。

2、能够用矩阵理论理解与研究高斯消去法,通过对矩阵的初等变换实现高斯消去法。

3、学会矩阵的三角分解,并且能够用MATLAB 编写相关程序,实现矩阵的三角分解,解方程组。

二、上机内容⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡2822171310871234567112345611123451111234111112311111121111111764321x x x x x x1、用列主元素高斯消去法求解方程组。

2、用列主元消去法求解方程组(实现PA=LU) 要求输出: (1)计算解X;(2)L,U;(3)正整型数组IP(i),(i=1,···,n) (记录主行信息)。

三、实验原理1、列主元素消去法用高斯消去法求解方程组时,为了减小误差,在消去的过程中要避免用绝对值较小的主元素。

因此在高斯消去法的每一步应该在系数矩阵货消去后的低阶矩阵中选取绝对值较大的元素作为主元素,保持|m ik |<=1,以减小计算过程中的舍入误差对计算解的影响。

此方法为完全主元素消去法。

完全主元素消去法在选主元素时花费一定的计算机时间,因此实际计算中常用列主元消去法。

列主元消去法在每次选主元时,仅依次按列选取绝对值最大的元素作为主元素,且仅交换两行,再进行消元计算。

装订 线第k步计算如下:对于k=1,2,…,n-1(1)按列选主元:即确定t使(2)如果t≠k,则交换[A,b]第t行与第k行元素。

(3)消元计算(4)回代求解计算流程图回代求解 b=b/a (当a nn ≠0)b ←(b -∑a x )/adet=a nn *det输出计算解及行列式及detk=1,2,…,n-1输入n ,A,b,εdet=1按列主元|a i(k),k |=max|a ik |C 0=a i(k),k换行 a ik a i(k)j(j=k,…n ) b k b j(k), 消元计算 (i=k+1,…,n ) a ik=a ik -a kk *m ik a ij=a ij -a kj *m ik (j=k+1,…,n )|C 0|<εi k =kdet=a kk det否否是是k<=n-1输出det(A)=0停机停机2. 矩阵的三角分解法 (1)定理设 n n R A ⨯∈ 。

国家开放大学《数据结构》课程实验报告(实验3 ——栈、队列、递归设计)参考答案

国家开放大学《数据结构》课程实验报告(实验3 ——栈、队列、递归设计)参考答案
{
x=Pop(s); /*出栈*/
printf("%d ",x);
InQueue(sq,x); /*入队*/
}
printf("\n");
printf("(10)栈为%s,",(StackEmpty(s)?"空":"非空"));
printf("队列为%s\n",(QueueEmpty(sq)?"空":"非空"));
ElemType Pop(SeqStack *s); /*出栈*/
ElemType GetTop(SeqStack *s); /*取栈顶元素*/
void DispStack(SeqStack *s); /*依次输出从栈顶到栈底的元素*/
void DispBottom(SeqStack *s); /*输出栈底元素*/
} SeqQueue; /*定义顺序队列*/
void InitStack(SeqStack *s); /*初始化栈*/
int StackEmpty(SeqStack *s); /*判栈空*/
int StackFull(SeqStack *s); /*判栈满*/
void Push(SeqStack *s,ElemType x); /*进栈*/
sq=(SeqQueue *)malloc(sizeof(SeqQueue));
InitQueue(sq);
printf("(8)队列为%s\n",(QueueEmpty(sq)?"空":"非空"));
printf("(9)出栈/入队的元素依次为:");

C语言实验报告数组

C语言实验报告数组

实验七数组1.实验目的(1)熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;(2)熟练掌握字符数组和字符串函数的使用;(3)掌握与数组有关的常用算法如查找、排序等..2.实验指导(1)对任意一个一维型数组;从中找出数组元素的最大值和最小值并输出..要求:①数组有十个元素;②使用scanf函数实现数组元素的输入前给出必要的提示;③输出时;首先输出数组的十个元素;然后输出其最大值和最小值..分析指导:①算法分析:首先定义一个数组;通过循环从键盘输入十个数组元素的值;再通过另一个循环判断数组元素的最大只和最小值;②根据分析情况编写程序:include<stdio.h>mainint a10;i;max;min;printf"please input ten integers:";fori=0;i<=9;i++{scanf"%d";&ai;}max=a0;min=a0;fori=1;i<=9;i++{ifai>maxmax=ai;ifai<minmin=ai;}fori=0;i<=9;i++{printf"a%d=%d\n";i;ai;}printf"The maximum value is %d;and the minimum value is %d\n";max;min;运行程序;输入十个整数;如:21 37 6 17 9 12 89 76 35 59运行结果如下:(2)编写函数cmpStrchar s1;char s2比较两个字符串s1和 s2的大小..如果s1>s2;返回一个正数;s1=s2;返回0;s1<s2;返回一个负数;在主函数中调用该函数完成字符串的比较操作;并输出返回的值..要求:①不允许使用strcmp函数;②用gets函数在主函数中输入两个字符串;③实现触摸屏受托人函数;返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值..分析指导:①算法分析:两个字符串从第一个字符开始一一对应进行比较;直到不相等的那个字符;从而求得它们的ASCII码的差值..比如;‘A’与‘C’相比;由于‘A’<‘C’;应输出负数;由于‘A’与‘C’的ASCII码的差值为2;因此;应输出“-2”..同理;“And”和“Aid”比较;根据第二个字符比较结果;‘n’比‘I’大5;因此应输出‘5’;②根据分析情况编写程序:include<stdio.h>int cmpstrchar s1;char s2{int i;diff;i=0;whiles1i==s2i&&s1i='\0'i++;ifs1i=='\0'&&s2i=='\0'diff=0;elsediff=s1i-s2i;return diff;}void main{int z;char s1100;s2100;printf"input the first string:";//输入字符串1gets s1;printf"input the second string:";//输入字符串2getss2;z=cmpstrs1;s2;//输出比较结果printf"the difference between two strings is %d\n";z;}查看运行结果如下:重新输入两个字符串meet;mood运行结果如下:(3)再给定的字符串中查找指定的字符..要求:①字符串采用直接初始化的方式处理;②通过scanf函数读入一个任意字符;③在字符串中查找该字符;如果存在该字符;输出该字符在字符串中的一次出现的位置;如果再给定的字符串中不存在该字符;则给出相应的说明信息..include<stdio.h>void main{int i;char ch;char s=" program";printf" 输入一个英文字母: ";scanf"%c";&ch;for i=0;si='\0';i++{if si==chbreak;}if i<7printf"s%d=%c\n";i;ch;elseprintf"No founded\n";}输入一个英文字母O运行程序如下:再次输入一个英文字母w运行程序如下:(4)首先输入一个大于二且小于十的整数n;然后定义一个二维整型数组nn;初始化该数组;讲述组中最大元素所在的行和最小元素所在的行对调..要求:①nn数组元素的值由scanf函数从键盘输入假定最大值最小值不在同一行上;然后输出该数组;②查找最大值最小值所在的行;将数组中最大元素所在的行和最小元素所在的行对调;并输出对调后的数组;③为直观起见;数组按n行n列的方式输出;④修改程序;对最大值与最小值可能出现在一行种的情况进行处理.. include<stdio.h>main{long matrix99;min;max;temp;int i;j;n;nMax=0;nMin=0;printf"\nplease inpute n of matrix:\n";scanf"%d";&n;printf"\nplease inpute elements of matrix%d%d:\n";n;n; fori=0;i<n;i++forj=0;j<n;j++scanf"%ld";&matrixij;min=max=matrix00;fori=0;i<n;i++forj=0;j<n;j++{ifmatrixij>max{max=matrixij;nMax=i;}else ifmatrixij<min{min=matrixij;nMin=j;}}forj=0;j<n;j++{temp=matrixnMaxj;matrixnMaxj=matrixnMinj;matrixnMinj=temp;}printf"\nResult matrix:\n";fori=0;i<n;i++{forj=0;j<n;j++printf"%5ld";matrixij;printf"\n";}}输入一个数4;输入一个44的数组1 3 6 72 4 5 81 3 5 72 6 9 7运行程序如下:再次输入一个数字3;输入一个33的数组1 2 32 4 537 8运行程序如下:3 实验结论通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用;还有就是掌握与数组有关的常用算法。

数组程序设计实验报告

数组程序设计实验报告

数组程序设计实验报告数组程序设计实验报告引言在计算机科学领域,数组是一种重要的数据结构,用于存储和操作大量相同类型的数据。

数组的使用广泛,无论是在算法设计还是软件开发中,都扮演着重要的角色。

本实验旨在通过编写数组程序,探索数组的特性和应用。

一、数组的定义与初始化数组是一种由相同类型的元素组成的集合,每个元素都可以通过索引访问。

在程序中,我们可以通过声明数组变量来定义一个数组。

例如,int numbers[5]就定义了一个包含5个整数的数组。

数组的初始化可以在声明时进行,也可以在后续的代码中进行。

二、数组的基本操作1. 访问数组元素数组元素可以通过索引来访问,索引从0开始。

例如,numbers[0]表示数组numbers的第一个元素。

通过循环遍历数组,我们可以逐个访问数组中的元素。

2. 修改数组元素数组元素的值可以通过索引进行修改。

例如,numbers[0] = 10将把数组numbers的第一个元素的值修改为10。

3. 数组的长度数组的长度是指数组中元素的个数。

在C语言中,可以通过sizeof运算符来获取数组的长度。

例如,sizeof(numbers) / sizeof(numbers[0])将返回数组numbers的长度。

三、数组的应用1. 数组的排序数组排序是数组程序设计中常见的任务之一。

常见的排序算法包括冒泡排序、选择排序和插入排序。

通过对数组元素进行比较和交换,可以将数组按照升序或降序排列。

2. 数组的搜索数组搜索是另一个常见的任务,它涉及在数组中查找特定的元素。

线性搜索是一种简单直观的搜索方法,它逐个比较数组元素,直到找到目标元素或搜索完整个数组。

二分搜索是一种更高效的搜索方法,它要求数组事先有序。

3. 多维数组除了一维数组,我们还可以使用多维数组来存储和处理更复杂的数据。

二维数组是最常见的多维数组形式,它可以看作是一个表格或矩阵。

通过使用行和列的索引,我们可以访问和修改二维数组中的元素。

C语言学生实验报告-第三组

C语言学生实验报告-第三组

学生实验报告实验课名称:数组应用实验项目名称:成绩管理系统专业名称:交通建设与装备班级:一班组号:第三组学生姓名:李博,焦云静,王阳坤,乔一恒,贾保垒,陈思,刘成,韩道森教师姓名:卢江2013年 4 月14 日实验日期:2013 年 4 月14 日实验室名称:明远2301五.源程序:#include <stdio.h>main(){int a[10],sum,i,j,max,min,b=10,t;float ave;printf("请输入10个学生的成绩:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(sum=0,i=0;i<10;i++)sum=sum+a[i];ave=sum/b;printf("平均分为:%.2f\n",ave);printf("低于平均分的成绩为:\n");for(i=0;i<10;i++)if(a[i]<ave)printf("%d,",a[i]);printf("\n");for(max=a[0],i=1;i<10;i++)if(a[i]>max)max=a[i];printf("max=%d",max);printf("\n");for(min=a[0],i=1;i<10;i++)if(a[i]<min)} min=a[i];printf("min=%d",min);printf("\n");for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]<a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}printf("成绩按降序排列为:\n");for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");八.实小组人员名单及分工:版块一、二、三:李博、焦云静版块四:乔一恒、刘成、陈思、韩道森版块五:王阳坤版块六:李博版块七、八:李博、贾保垒,焦云静。

数组处理实验报告

数组处理实验报告

一、实验目的1. 掌握一维数组和二维数组的定义、初始化及输入输出方法。

2. 熟悉数组的基本操作,如查找、排序等。

3. 理解数组在实际问题中的应用。

二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++三、实验内容1. 一维数组的定义、初始化及输入输出2. 二维数组的定义、初始化及输入输出3. 数组的基本操作:查找、排序4. 数组在实际问题中的应用四、实验步骤1. 一维数组的定义、初始化及输入输出(1)定义一维数组,并初始化```cppint arr[5] = {1, 2, 3, 4, 5};```(2)输出数组元素```cppfor (int i = 0; i < 5; i++) {cout << arr[i] << " ";}```2. 二维数组的定义、初始化及输入输出(1)定义二维数组,并初始化```cppint arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};```(2)输出数组元素```cppfor (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) { cout << arr[i][j] << " "; }cout << endl;}```3. 数组的基本操作:查找、排序(1)查找```cppint findElement(int arr[], int size, int element) {for (int i = 0; i < size; i++) {if (arr[i] == element) {return i; // 返回元素位置}}return -1; // 未找到元素,返回-1}int main() {int arr[5] = {1, 2, 3, 4, 5};int element = 3;int position = findElement(arr, 5, element);if (position != -1) {cout << "Element " << element << " found at position " << position << endl;} else {cout << "Element " << element << " not found" << endl;}return 0;}```(2)排序```cppvoid sortArray(int arr[], int size) {std::sort(arr, arr + size); // 使用std::sort对数组进行排序}int main() {int arr[5] = {5, 2, 1, 4, 3};sortArray(arr, 5);for (int i = 0; i < 5; i++) {cout << arr[i] << " ";}cout << endl;return 0;}```4. 数组在实际问题中的应用(1)计算平均值```cpp#include <iostream>#include <vector>#include <numeric> // 引入numeric库,用于求和double calculateAverage(const std::vector<int>& arr) {return std::accumulate(arr.begin(), arr.end(), 0) / arr.size(); }int main() {std::vector<int> arr = {1, 2, 3, 4, 5};double average = calculateAverage(arr);cout << "Average: " << average << endl;return 0;}```(2)判断矩阵是否为对称矩阵```cpp#include <iostream>#include <vector>bool isSymmetricMatrix(const std::vector<std::vector<int>>& matrix) { int size = matrix.size();for (int i = 0; i < size; i++) {for (int j = 0; j < size; j++) {if (matrix[i][j] != matrix[j][i]) {return false;}}}return true;}int main() {std::vector<std::vector<int>> matrix = {{1, 2, 3},{2, 4, 5},{3, 5, 6}};bool isSymmetric = isSymmetricMatrix(matrix);cout << "Is symmetric matrix: " << (isSymmetric ? "Yes" : "No") << endl;return 0;}```五、实验结果与分析1. 通过实验,掌握了数组的基本定义、初始化、输入输出方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
#include<string.h>
void main()
{char line[80],ll[2];
charch;
inti,j;
intlen;
printf("输入一行字符\n");
;
printf("输入要删除字符\n ");
scanf("%s",ll);ch=ll[0];
#defineM3
#defineN4
main()
{intmax,i,j,r,c;
staticinta[M][]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};
max=a[0,0];
for(i=0;i<n;i++)
for(j=0;j<m;i++)
if (a[i][j]>max)
实验3-1一维数组
目的和要求:
1.理解数组的概念以及用数组描述数据结构的好处;
2.掌握一维数组的定义、下标变量的引用、数组的初始化以及输入输出的方法;
3.学习应用数组解决查找和排序问题。
一.实验内容
1.改错题
(1)下列程序的功能是:为指定的数组输入10个数据,并求这10个数据之和。但程序中存在若干错误,请你纠正,并将正确的程序保存到学号文件夹下,文件名为shiyan3_1.c。
#include<stdio.h>
void main()
{intn=10,i,sum=0;
inta[n];
for(i=0;i<10;i++)
{
scanf("%d",a[i]);
sum=sum+a[i];
}
printf("sum=%d\n",sum);
}
(2)下列程序的功能是:读入20个整数,统计其中非负整数个数,计算所有非负整数之和。但程序中存在若干错误,请你纠正,并将正确的程序保存到学号文件夹下,文件名为shiyan3_2.c。
实验3-2二维数组
目的和要求:
1.掌握二维数组的定义引用。
2.掌握二维数组的初始化。
3.掌握二维数组的输入与输出。
二.实验内容
1.改错题
1)指出下面程序的错误并改正。然后验证程序结果。并将正确的程序保存到学号文件夹下,文件名为shiyan32_1.c。
有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。
count++;
}
printf("s=%d\t count=%d\n", s, count );
}
2.程序填空
(1)以下程序的功能是:采用二分法在给定的有序数组中查找用户输入的值,并显示示查找结果。根据题意,将程序写完整,并将程序保存到学号文件夹下,文件名为shiyan3_T1.c。
#include "stdio.h"
}
}
3.编程题
1.求一个3×3矩阵对角线元素之和。并将正确的程序保存到学号文件夹下,文件名为shiyan32_7.c。
2.打印出以下的杨辉三角形(要求打印出10行),并将正确的程序保存到学号文件夹下,文件名为shiyan32_8.c。
1
11
121
1331
1464 1
15101051
………………
实验3-3字符数组
for(i=0;i<M;i++)
for(j=0;j<P;j++)scanf("%d",&a[i][j]);
for(i=0;i<P;i++)
for(j=0;j<N;j++)scanf("%d",&b[i][j]);
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{ c[i][j]= _______①_________;
for(i=0;i<=4;i++)
{
for(k=0;k<=4;k++)
{
printf("%4d",a[i][k]);
}
printf("\n");
}
}
3):找出一个二维数组中的鞍点,即该位置上的元素在该行中最大,同时在该列中最小。也可能不存在鞍点,如果有,打印出其位置和值。并将正确的程序保存到学号文件夹下,文件名为shiyan32_3.c。
1)要求用选择排序法将数列由小到大排序;
2)在排序好的数列中插入一个数,使数列保持从小到大的顺序。
(2)编写一个程序,输入一个字符串,按照下述规律译成密码后输出。规律是:A→Z,a→z,B→Y,b→y,C→X,c→x……并将程序保存到学号文件夹下,文件名为shiyan3_B2.c。
(3)编写一个程序,依次输入10位同学的比赛分数(0~100),按照分数由高到低的顺序排序后输出每位同学的序号和分数。并将程序保存到学号文件夹下,文件名为shiyan3_B3.c。
inti,n=0;
while(!a[n]) n++;
for(i=0;b[i]!='\0';i++)
a[n+i]=b[i];
printf("%s\n",a);
}
2.下列程序是对一行文字,删去其中某个字符,此行文字和要删的字符均由键盘输入,根据题意,将程序写完整。并将程序保存到学号文件夹下,文件名为shiyan33_2.c。
目的和要求:
掌握字符数组(字符串)的应用与处理;
1.下列程序的功能是:将字符串b连接到字符串a。但程序中存在若干错误,请你纠正,并将正确的程序保存到学号文件夹下,文件名为shiyan33_1.c。
#include<stdio.h>
void main( )
{ char a[]="wel",b[]="come";
#include <stdio.h>
maቤተ መጻሕፍቲ ባይዱn( )
{
inti, n=20, s, count;
inta[n];s = count = 0;
for (i= 1;i<= n;i++ )
scanf("%d",a[i]);
for (i= 1;i<= n;i++ )
{
if ( a[i] <0 )
break;
s += a[i];
if(a[mid]==k)
{
printf("找到位置为:%d\n",mid+1);find=1;
}
if(a[mid]>k)
__________________;
else
__________________;
}
if(!find)printf(“%d未找到\n”,k);`
}
(2)以下程序的功能是:从键盘上输入若干个学生的成绩,计算平均成绩,并输出低于平均分的分值。根据题意,将程序写完整。。并将程序保存到学号文件夹下,文件名为shiyan3_T2.c。
#include "math.h"
void main()
{
inta[][]={{1,2,3,4,-5},{3,5,-2,4,2},{4,1,2,3,-2},
{1,3,-2,4,6},{2,2,0,7,4}} ;
inti,k,max,sub,temp;
/*交换之前,输出*/
printf("交换之前,输出\n");
printf("sum=%d\n",sum);
}
2)求两个距阵(距阵a:m行×p列,距阵b:p行×n列)的乘法(距阵c:m行×n列)并将正确的程序保存到学号文件夹下,文件名为shiyan32_6.c。
#define M 2
#define N 2
#define P 3
main()
{
inti,j,k,a[M][P],b[P][N],c[M][N];
n++;
scanf(“%f”,&a);
}
ave=__________________;
printf(“output:\n”);
for(i=0;i<n;i++)
if (__________________)
printf(“%f”,x[i]);
}
3.编程题
(1)编写程序,任意输入10个整数的数列完成下列运算:并将程序保存到学号文件夹下。(文件名为shiyan3_B.c)
#define N 10
main()
{
inta[ ]={0,1,2,3,4,5,6,7,8,9},k;
intlow=0,high=N-1,mid,find=0;
printf("请输入欲查找的值:\n");
scanf("%d",&k);
while (low<=high)
{
mid=(low+high)/2;
#include <stdio.h>
#include <stdlib.h>
main()
{
inta[3][5],x,y,i,j,k;
intmax,min;
for(i=0;i<3;i++)
相关文档
最新文档