实验6-0 数组的应用答案
- 格式:doc
- 大小:33.50 KB
- 文档页数:3
《程序设计基础—VB程序实验》说明:实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。
实验1 计算机基本操作实验目的⑴熟悉计算机,能够正确进行开、关机操作。
⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。
⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。
⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。
⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。
实验内容⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。
⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。
⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。
⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。
⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。
⑹将上述文件夹复制到ftp://10.10.9.222上。
实验2 常用软件的基本操作实验目的⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。
⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。
⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。
⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。
掌握Excel中的图形制作方法,能够根据表格做出图形。
实验内容⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理:①将标题“自我介绍”居中;②将文章中第二段的内容进行分栏,要求中间有分割线;③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩;④任意插入一张图片;⑤在文章中的任意位置加底纹。
将做好的文档以2.doc命名并保存。
数组练习及答案数组练习121、合法的数组定义是___ _____.A) int a[6]={"string"};B) int a[5]={0,1,2,3,4,5};C) char a={"string"};D) char a[]={0,1,2,3,4,5};122、要求下⾯的程序运⾏后,显⽰如下结果:2 10 4 61 52 32 4 7 85 1 3 2则程序中的划线处应填⼊___ _____.#include <>void main( ){ int a[4][4]={ ________ };int i,j;for(i=0;i<4;i++){for(j=0;j<4;j++) printf("%4d",a[i][j]);printf("\n"); }}A) {1,5,2,3},{2,4,7,8},{5,1,3,2}B) {2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}C) {5,1,3,2},{2,4,7,8},{1,5,2,3}D) {2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}123、给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为___ _____.A) 数组x和数组y等价B) 数组x和数组y的长度相同C) 数组x的长度⼤于数组y的长度D) 数组x的长度⼩于数组y的长度124、定义如下变量和数组:int i;int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};则下⾯语句的输出结果是___ _____.for(i=0;i<4;i++) printf("%3d",x[i][3-i]);A) 1 5 9 13 B) 1 6 11 16C) 4 7 10 13 D) 4 8 12 16126、若希望下⾯的程序运⾏后输出45,程序空⽩处的正确选择是___ _____.#include <>void main( ){ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};for( ____________ )j+=a[i];printf("%d\n",j);}A) i=5;i>1;i-- B) i=0;i<7;++iC) i=5;i>=1;--i D) i=2;i<6;++i127、若有以下说明:char s1[ ]={"tree"},s2[]={"flower"}; ,则以下对数组元素或数组的输出语句中,正确的是__ ___.A) printf("%s%s",s1[5],s2[7]);B) printf("%c%c",s1,s2);C) puts(s1);puts(s2); D) puts(s1,s2);128、下列⼀维数组初始化语句中,正确且与语句float a[ ]={0,3,8,0,9};等价的是_____ ___.A) float a[6]={0,3,8,0,9};B) float a[4]={0,3,8,0,9};C) float a[7]={0,3,8,0,9};D) float a[5]={0,3,8,0,9};129、运⾏下⾯程序段的输出结果是___ _____.char s1[10]={'S','e','t','\0','u','p','\0'};printf("%s",s1);A) Set B) Setup C) Set up D) 'S''e''t'130、以下程序段的输出结果是____ ____.char s[ ]="an apple";printf("%d\n",strlen(s));A) 7 B) 8 C) 9 D) 10131、若有说明:char c[10]={'E','a','s','t','\0'};,则下述说法中正确的是_____ _____.A) c[7]不可引⽤B) c[6]可引⽤,但值不确定C) c[4]不可引⽤D) c[4]可引⽤,其值为空字符132、下列初始化语句中,正确且与语句char c[ ]="string";等价的是____ ____.A) char c[ ]={'s','t','r','i','n','g'};B) char c[ ]='string';C) char c[7]={'s','t','r','i','n','g','\0'};D) char c[7]={'string'};133、若有说明char c[7]={'s','t','r','i','n','g'};则对元素的⾮法引⽤是____ ____.A) c[0] B) c[9-6] C) c[4*2] D) c[2*3]134、如有说明:char s1[5],s2[7]; ,要给数组s1和s2整体赋值,下列语句中正确的是____ ____.A) s1=getchar(); s2=getchar();B) scanf("%s%s",s1,s2);C) scanf("%c%c",s1,s2);D) gets(s1,s2);135、下列⼀组初始化语句中,正确的是___ _____.A) int a[8]={ }; B) int a[9]={0,7,0,4,8};C) int a[5]={9,5,7,4,0,2}; D) int a[7]=7*6;136、以下程序输出的结果是____ _____.#include <>void main( ){ char str[ ]="1a2b3c"; int i;for(i=0;str[i]!='\0';i++)if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]);printf("\n");}A) 9 B) 1a2b3cC) abc D) 123137、以下程序输出的结果是___ _____.#include <>void main( ){ int a[ ]={5,4,3,2,1},i,j;long s=0;for(i=0;i<5;i++) s=s*10+a[i];printf("s=%ld\n",s);}A) s=12345 B) s=5 4 3 2 1C) s=54321 D) 以上都不对138、以下程序输出的结果是____ ____.#include <>void main( ){ int a[ ]={1,2,3,4,5},i,j,s=0;for(i=0;i<5;i++) s=s*10+a[i];printf("s=%d\n",s);}A) s=12345 B) s=1 2 3 4 5C) s=54321 D) s=5 4 3 2 1139、在定义int a[5][6];后,数组a中的第10个元素是.________(设a[0][0]为第⼀个元素)A) a[2][5] B) a[2][4] C) a[1][3] D) a[1][5]140、当接受⽤户输⼊的含有空格的字符串时,应使⽤____ ____函数.A) gets( ) B) getchar( )C) scanf( ) D) printf( )141、以下程序执⾏时输⼊Language Programming<回车>,输出结果是____ ____.#include <>void main( ){ char str[30];gets(str);printf("str=%s\n",str);}A) Language ProgrammingB) LanguageC) str=LanguageD) str=Language Programming142、以下⼀维数组a的正确定义是___ _____ .A) int a(10); B) int n=10,a[n];C) int n; D) #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];143、以下对⼆维数组a进⾏正确初始化的是__ _____.A) int a[2][3]={ {1,2},{3,4},{5,6} };B) int a[ ][3]={1,2,3,4,5,6 };C) int a[2][ ]={1,2,3,4,5,6}; D) int a[2][ ]={ { 1,2},{3,4}};144、以下关于数组的描述正确的是____ ______.A) 数组的⼤⼩是固定的,但可以有不同类型的数组元素。
数组的应用实验原理1. 实验目的本实验旨在掌握数组的概念、特性和应用,并通过实际案例加深对数组的理解。
2. 实验原理数组是一种用来存储相同类型的数据元素的数据结构。
它可以在内存中连续的存储多个元素,并通过索引值来访问和操作这些元素。
在实际应用中,数组常被用来存储一组相同类型的数据,例如整数、浮点数、字符等。
3. 实验步骤1.声明数组:首先需要声明一个数组,并指定数组的类型和名称。
例如,int[] numbers;表示声明一个整数类型的数组变量名为numbers。
2.创建数组:使用new关键字来创建数组。
例如,numbers = newint[5];表示创建了一个包含5个整数的数组。
3.初始化数组:可以在数组创建后对其中的元素进行初始化,也可以在声明数组时直接进行初始化。
例如,int[] numbers = {1, 2, 3, 4, 5};表示创建并初始化一个包含5个整数的数组。
4.访问数组元素:使用索引值来访问数组中的元素。
索引值从0开始,到数组长度减一。
例如,int x = numbers[2];表示将数组numbers中索引为2的元素赋值给变量x。
5.修改数组元素:通过索引值可以修改数组中的元素。
例如,numbers[0] = 10;表示将数组numbers中索引为0的元素修改为10。
6.遍历数组:使用循环结构可以遍历数组中的所有元素。
通过循环动态改变索引值,从而逐个访问数组中的元素。
例如,使用for循环来遍历数组:for (int i = 0; i < numbers.length; i++) {System.out.println(numbers[i]);}4. 实验案例下面通过一个简单的案例来说明数组的应用原理。
4.1 案例描述某班级有10名学生,需要统计每个学生的成绩,并计算平均分。
4.2 案例解决思路1.声明一个整数类型的数组scores用于存储学生成绩。
2.创建长度为10的数组:scores = new int[10];3.使用循环结构输入每个学生的成绩,并将其存储到数组中。
课程名称:结构化程序设计与C语言开课实验室:年月日一、实验目的用C语言编写和调试数组的程序,包括一维数组和二维数组。
从而对数组的程序设计有比较深入的了解。
二、内容及结果1、程序二选择排序法1)题目:用选择法对10个整数排序。
2)代码:#include<stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}3)运行截图:2、程序二将一个数组中的值按逆序重新存放。
1)题目:将一个数组中的值按逆序重新存放。
2)代码:# include <stdio.h>int main (){int a[5]={8,6,5,4,1};int i,t;for(i=0;i<=2;i++){t=a[i];a[i]=a[4-i];a[4-i]=t;}for(i=0;i<=4;i++)printf("%d ",a[i]);return 0;}3)运行截图:3、程序三输出杨辉三角形(10行)1)题目:输出杨辉三角形(10行)2)代码:#include<stdio.h>int main(){int yh[10][10]={0};int i,j;for(i=0;i<10;i++)yh[i][0]=1;for(i=1;i<10;i++)for(j=1;j<10;j++)yh[i][j]=yh[i-1][j-1]+yh[i-1][j];for(i=0;i<10;i++){for(j=0;j<i+1;j++)printf("%5d",yh[i][j]);printf("\n");}}3)运行截图:4、程序四找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该行上最小。
实验六函数一、实验目的1. 熟练掌握函数的定义、函数的类型和返回值。
2. 熟练掌握形式参数与实际参数、参数值的传递。
3. 掌握函数的嵌套调用与递归调用。
4.学会使用指向函数的指针变量。
5.了解指向指针的指针的概念及带参数的main函数。
6. 掌握局部变量和全局变量。
7. 掌握变量的存储类型。
8. 了解内部函数和外部函数。
二、实验学时:8课时三、预习知识1.标准库函数标准库函数是C系统提供的,这些库函数定义了一些基本的、常用的功能,用户可以使用这些库函数,但是在使用库函数之前需要用预编译命令# include将该库函数所在的头文件包含进来。
2.自定义函数定义函数一般有两种形式形式1:存储类型类型符函数名(类型符形参1,类型符形参2 ,… ) { 说明语句执行语句}形式2:存储类型类型符函数名(形参1,形参2 ,……)形参类型说明{ 说明语句执行语句}说明:①形参表中即使没有参数,函数名后的一对圆括号也不能省略。
②函数名前的类型符是用来说明函数返回值的数据类型(也作为函数的数据类型) 。
当函数值为整型时,类型符可以省略。
③当函数只完成某一特定操作不需要返回值时,可用类型标识符 void 说明,将函数定义成空类型。
④C 规定:不允许在一个函数内部再定义另外一个函数,即函数不允许嵌套定义。
⑤函数的存储类型:函数的存储类型有 extern 和 static 两种。
extern 型的函数除了可以被本程序中其它函数调用外,还可以被其它文件中的函数调用,这种函数称为外部函数,如果定义函数时省略 extern ,则隐含为外部函数。
static 型的函数只能被本源程序文件中的函数调用,称为内部函数(静态函数)。
3.函数的参数(1)在定义函数时函数名后面括号中的变量称为形参(形式参数),如果有两个以上形参,形参之间以逗号分隔。
形参是函数的内部变量,只在函数内部才有意义。
在未出现函数调用时,形参不占内存。
对每个形参必须指明其名字和数据类型。
实验6 数组一、一维数组实验2. 编程:输入长度为10的整型数组并输出;然后将其逆序存放后再输出。
例如:0 1 2 3 4 5 6 7 8 9#include<>void main(){int i, j, a[10], t;printf("Input 10 number: ");for(i=0; i<10; i++) /*读入数据*/scanf("%d", &a[i]);printf("origin data: ");for(i=0; i<10; i++) /*输出原始数据*/printf("%d ", a[i]);printf("\n");for(i=0,j=9; i<j ; i++,j--) /*逆序存放*/{t=a[i];a[i]=a[j];a[j]= t;}printf("After reversed: "); /*输出逆序存放后的数据*/for(i=0; i<10; i++)printf("%d ", a[i]);printf("\n");}3. 编程:输入n个(1<n<=10)正整数并保存到数组中,求出最大值、最小值、平均值,以及最大值、最小值在数组中的下标分别是多少。
例如:5#include <>void main(){int i, n , max, min, a[10], sum;float average;printf("Input n (1<n<=10): ");scanf("%d", &n);if(1<n && n<=10){printf("Input %d integer:", n); /*输入数据并求累加和*/for(i=0, sum=0; i<n; i++){scanf("%d", &a[i]);sum+=a[i];}average=(float)sum/n; /*求出平均值*/for(i=0, max=0, min=0; i<n; i++) /*求最大、最小值的下标*/{if(a[i] > a[max])max= i;if(a[i] < a[min])min= i;}printf("max=%-5d index=%d\n", a[max], max);printf("min=%-5d index=%d\n", a[min], min);printf("average=%.2f\n", average);}elseprintf("数据超出范围");}4. 编程:青年歌手参加歌曲大奖赛,有10个评委对她(他)进行打分,试编程求这位选手的平均得分并输出(去掉一个最高分和一个最低分)。
Visual Basic有哪些基本数据类型?答:Byte(字节型)、Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)、Currency (货币型)、String(变长)、String(定长)、Variant(可变型数字)、Variant(可变型字符)、Boolean(布尔型)、Date(日期型)、Object(对象型)。
Visual Basic的表达式分为哪几类?答:算术表达式、字符串表达式、关系表达式、布尔表达式。
Print语句的作用?答:print语句用于输出数字和文本,通常是把结果输出到窗体上。
Visual Basic的分支语句有几个?如何使用?答:分支语句有两个:If语句和Select语句,它们都是根据条件来执行特定的语句。
Visual Basic的循环语句有几个?如何使用?答:3种语句:For、While和Do,For用于执行指定次数,While为先测试型循环语句,Do为后测试型循环语句。
Visual Basic中的定长数组是如何使用的?答:定长数组包含固定数目的元素,通过数组名和下标来访问每个元素。
Visual Basic中的动态数组和定长数组有何不同?答:不同之处在于:动态数组的元素数可以动态改变。
Visual Basic中过程的参数有几种传递方式?答:过程的参数有两种传递方式:按值传递参数和按地址传递参数。
窗体中的所有属性都可以通过代码来设置么?答:不是。
Name属性和Caption属性有何区别?答:Name属性用于标识窗体,Caption属性用于设置窗体标题文字。
窗体上显示文本时使用的字体和字号分别用什么属性来设置?答:FontName和FontSize运行时如何在窗体上输出文本?答:Print方法窗体的Resize事件在什么时候发生?答:当窗体第一次显示或窗体的外观尺寸被改变时发生。
窗体的Unload事件什么时候发生?答:当窗体从内存中卸载时发生。
实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
C 语言程序设计上机实验指导与习题参考答案仅供教师内部参考华南农业大学目录上机实验1实验1 C 语言程序初步1一实验目的1二实验内容1实验2 基本数据类型运算和表达式3一实验目的3二实验内容3实验3 基本输入与输出5一实验目的5二实验内容5实验4 选择结构程序设计4一实验目的4二实验内容4实验5 循环结构程序设计一9一实验目的9二实验内容9实验6 循环结构程序设计二15一实验目的15二实验内容15实验7 数组17一实验目的17二实验内容17实验8 字符数组的应用22一实验目的22二实验内容22实验9 函数的基本应用24 一实验目的24二实验内容24实验10 指针与结构体26一实验目的26二实验内容26*实验11 链表29一实验目的29二实验内容29*实验12 文件32一实验目的32二实验内容32上机实验实验1 C 语言程序初步一实验目的1了解所用的计算机系统的基本操作方法学会独立使用该系统2 了解在该系统上如何编辑编译连接和运行一个C 程序3 通过运行简单的C 程序初步了解C 程序的特点4 在教师的指导下学会使用JudgeOnline 实验系统二实验内容1 运行第一个C 程序[题目The first C Program]将下列程序输入TC 或VC编译连接和运行该程序void mainprintf "The first C Program\n"[具体操作步骤]以Turbo C 上的操作为例1Windows 进入后按照第一章中介绍的方法进入Turbo C2在编辑窗口中输入程序3保存程序取名为a1c4按照第一章中介绍的方法编译连接和运行程序2 在JudgeOnline 系统中提交实现了计算ab 功能的程序[题目1001计算ab]由键盘输入两个整数计算并输出两个整数的和实现该功能的程序如下void mainint a bscanf "dd" a b1 printf "d" a b1在程序编辑窗口中输入程序2保存程序取名为a2c3按照前二章中介绍的方法编译连接和运行程序4在程序运行过程中输入15 30↙↙表示输入回车符5 如果看到如下输出结果则表明1530 的结果正确如果得不到如下结果则需检查并更正程序456 按照第三章中介绍的方法进入JudgeOnline 实验系统7 显示题目列表点击题号为1001题名为计算ab的题目8 查看完题目要求后点击页面下端的sumbit 参照第二章提交程序的方法提交程序a2c9 查看评判结果如果得到accepted则该题通过否则返回第一步检查程序是否正确2实验2 基本数据类型运算和表达式一实验目的1掌握C 语言数据类型熟悉如何定义一个整型和实型的变量以及对它们赋值的方法2 掌握不同的类型数据之间赋值的规3 学会使用C 的有关算术运算符以及包含这些运算符的表达式特别是自加和自减-- 运算符的使用4 进一步熟悉C 程序的编辑编译连接和运行的过程二实验内容1 变量的定义[题目1117变量定义按要求完成程序]下面给出一个可以运行的程序但是缺少部分语句请按右边的提示补充完整缺少的语句void mainint a b 定义整型变量a 和bint i j 定义实型变量i 和ja 5b 6i 314 j iabprintf "a db di fj f\n" a b i j[具体操作步骤]1将代码补充完整2在TC 或VC上运行通过3在JudgeOnline 实验系统上提交2 赋值表达式与赋值语句[题目1118赋值表达式与赋值语句写出程序运行结果] 阅读下面程序写出运行结果void mainfloat aint b cchar d ea 35b ac 330d c3e \\printf "fddcc" abcde运行结果为35000003330J\[提示]赋值语句具有类型转换的功能但可能会改变数据3 基本运算[题目1119基本运算写出程序运行结果]阅读下面程序写出运行结果void mainint a b cfloat d 15 e fa 357b 1510c be 1510f d10printf "dddfff" abcdef运行结果为0211500000010000001500000[提示]除法分整除与普通除法之分4实验3 基本输入与输出一实验目的1熟练掌握putchargetcharprintf scanf 函数的使用方法2 掌握各种类型数据的输入输出的方法能正确使用各种格式转换符二实验内容[题目1126字符的输入与输出]编程实现由键盘输入一个字符后在屏幕上输出该字符[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]a↙↙[正确输出] [正确输出]a参考程序include "stdioh"mainchar chch getcharputchar ch[题目1127计算加法]编程实现由键盘输入一个加法式输出正确的结果两个加数均为整数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]1020 ↙- 1560↙[正确输出] [正确输出]30 45参考程序include "stdioh"mainint a bscanf "dcd" abprintf "d" ab[题目1014求圆面积]由键盘输入圆半径r 请计算该圆的面积注取314159结果保留两位小数位另外程序只要能对r 在0 到10000 范围的情况输出正确答案即可[第一组自测数据] [键盘输入]5652 ↙[键盘输入][正确输出] 112↙1335502 [正确输出][第二组自测数据] 39408[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现参考程序include "stdioh"mainfloat arearscanf "f"rarea 314159rrprintf "02f"area2[题目1015计算摄氏温度值]从键盘输入一个华氏温度值要求按格式输出其对应的摄氏温度值精确到小数点后两位数学公式描述为5C F 329[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]100↙100↙[正确输出] [正确输出]3778 3778[提示]注意公式中的除为普通除法参考程序includevoid mainfloat fcscanf "f"fc 509 f-32printf "2f"c3实验4 选择结构程序设计一实验目的1了解C 语言表示逻辑的方法以0 代表假以非0 代表真2 学会正确使用逻辑运算符和逻辑表达式3 熟练掌握if 语句和switch 语句4 结合程序掌握一些简单的算法二实验内容[题目1120判断点是否在圆]由键盘输入一个点的坐标要求编程判断这个点是否在单位圆上点在圆上输出Y 不在圆上输出N 使用小数点后3 位精度进行判断[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]07070707 ↙8>0505↙[正确输出] [正确输出]Y N[提示] 1平面上的点与圆的关系分为在圆内在圆上在圆外三种本题要求判断是否在圆上2判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度本题为0001 的方法实现参考程序include "stdioh"include "mathh"void mainfloat abscanf "ff"abif fabs aabb-1 1e-3printf "Y\n"else printf "N\n"[题目1017求数的位数]由键盘输入一个不多于9 位的正整数要求输出它是几位数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]349213 ↙10000↙[正确输出] [正确输出]6 5[提示]划定一位数二位数九位数的范围后用if else if else 语句实现判断4参考程序mainint nplacescanf "ld"nif n 99999999 place 9else if n 9999999 place 8else if n 999999 place 7else if n 99999 place 6else if n 9999 place 5else if n 999 place 4else if n 99 place 3else if n 9 place 2else place 1printf "ld\n"place[题目1018数的排序]由键盘输入三个整数a b c按从小到大的顺序输出这三个数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]654590 ↙963 ↙[正确输出] [正确输出]456590 369参考程序includemainint abctscanf "ddd"abcif a b t aa bb tif a c t aa cc tif b c t bb cc tprintf "ddd"abc[题目1016字符变换]由键盘输入5 个字符将其中的大写字母变成小写其它类型的字符不变并按输入顺序逐个输出[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]ApPLe ↙aB 5 ↙[正确输出] [正确输出]apple ab 5[提示]下面代码实现由键盘读入一个字符并按题意处理后输出char aa getcharif a A a Z a a32putchar a5现在题目要求处理5 个字符怎么做呢请自己思考参考程序includemainchar abcdescanf "ccccc"abcdeif a Za A a a32if b Zb A b b32if c Zc A c c32if d Zd A d d32if e Ze A e e32printf "ccccc"abcde[题目1019数的整除]由键盘输入5 个整数逐个判断它们能否被27 整除能的输出YES不能的输出NO 注意输出时一个判断结果占一行5 个数的判断共占5 行[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]8 27 17577 325 54 ↙8 27 17577 325 54 ↙[正确输出] [正确输出]NO NOYES YESYES YESNO NOYES YES[提示]整除即除得余数为0参考程序include "stdioh"mainint abcdescanf "d d d d d"abcdeif a27 0 printf "YES\n" else printf "NO\n"if b27 0 printf "YES\n" else printf "NO\n"if c27 0 printf "YES\n" else printf "NO\n"if d27 0 printf "YES\n" else printf "NO\n"if e27 0 printf "YES\n" else printf "NO\n"[题目1020正负奇偶判断]由键盘输入非零整数x 判断该数正负正数输出positive 负数输出negative 接着判断该数的奇偶性奇数输出odd偶数输出even[第一组自测数据] negative[键盘输入] odd-43 ↙[第二组自测数据][正确输出] [键盘输入]698 ↙positive[正确输出] even参考程序include "stdioh"mainint nscanf "d"nif n 0 printf "negative\n"else printf "positive\n"if n2 0 printf "even\n"else printf "odd\n"[题目1023简单计算器]下面程序是实现一个简单的运算器保留两位小数点如果由键盘输入1050计算机可以输出结果6000如果输入8 *6计算机输出4800如果输入204 计算机输出500 如果输入8-6计算机输出200 请在空处填上适当的代码运行通过后并提交include "stdioh"void mainfloat abcscanf "fcf"switch opcasecase - _case _case __default printf "error"returnprintf "result " c[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]452↙501-23 ↙[正确输出] [正确输出]90 27107参考程序includeint mainchar opscanf "fcf"aopbswitch opcase c abbreakcase -c a-bbreakcase c abbreakcase c abbreakdefaultprintf "error"breakprintf "result 2f"c8实验5 循环结构程序设计一一实验目的1熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中用循环实现一些常用算法如穷举迭代递推等二实验内容[题目1024计算阶乘]输入正整数n计算n 结果用长整型数表示注n 123n[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]5 ↙8 ↙[正确输出] [正确输出]120 40320参考程序includemainlong in 1ascanf "ld"afor i 1i ai n niprintf "ld\n"n[题目1025计算数列和]有数列1357911现要求由键盘输入n计算输出该数列的前n 项和[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]2 ↙ 5 ↙[正确输出] [正确输出]4 259参考程序includemainlong nsum 0it 1scanf "ld"nfor i 1i nisum sumtt t2printf "ld\n"sum或includemainlong nsumscanf "ld"nsum nnprintf "ld"sum注评判系统不对程序实现细节进行分析只对运行结果进行评测[题目1026 加一行字符中的数字]由键盘输入一行字符总字符个数从1 个至80 个均有可能以回车符表示结束将其中每个数字字符所代表的数值累加起来输出结果[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]abc123↙A6H7T65↙[正确输出] [正确输出]6 24[提示] 1可以使用下面程序段逐个读入键盘输入的一行字符char chwhile ch getchar \n2 数字字符转为对应的数值可用a ch-0参考程序includemainchar cint s 0awhile c getchar \nif c 0c 9a c-48s saprintf "d"s10[题目1029求最大公约数]由键盘输入两个正整数mn mn 用长整数表示计算它们的最大公约数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]1624↙1725↙[正确输出] [正确输出]8 1[提示]公约数是既能整除m 又能整除n 的数题目要求满足这一条件的最大的一个参考程序includemainlong rmntempscanf "ldld"mnwhile m 0r nmn mm rprintf "ld\n"n或includemainlong mntisscanf "ldld"mnt m nnmfor i t-1i 1i--if mi 0ni 0s i breakprintf "d"s[题目1030字符变换]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束将其中的大写字符变成小写其它类型的字符不变最后输出变换后的句子[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙ThiS IS My fIrSt C ProgrAm ↙[正确输出] [正确输出]how are you this is my first c program11参考程序includemainchar cwhile c getchar \nif c Ac Zc c32putchar c[题目1037计算数列和]有数列编程实现由键盘输入n计算输出数列前n 项和结果保留四位小数[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]20 ↙30 ↙[正确输出] [正确输出]326603 880403参考程序includemainint itnfloat a 2b 1s 0scanf "d"nfor i 1i nis sabt aa abb tprintf "4f\n"s[题目1044输出最小值]从键盘输入十个整数输出最小值[ 自测数据][键盘输入]12 45 76 87 5 87 43 55 99 21 ↙[正确输出]512参考程序include "stdioh"mainint itminscanf "d" minfor i 1i 10iscanf "d" tif t min min tprintf "d\n"min*[题目1031统计单词个数]由键盘输入一个句子总字符个数从1 个至80 个均有可能以回车符表示结束以空格分割单词要求输出单词的个数[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]How Are You ↙There are many students and many[正确输出] trees↙3 [正确输出]7参考程序includemainint inum 0word 0char cfor i 0 c getchar \niif c word 0else if word 0word 1numprintf "d"num*[题目1042百万富翁]一个百万富翁遇到一个陌生人陌生人找他谈了一个换钱的计划该计划如下我每天给你m 元而你第一天只需给我一分钱第二天我仍给你m 元你给我2 分钱第三天我仍给你m 元你给我4分钱依次类推你每天给我的钱是前一天的两倍直到一个月38 天百万富翁很高兴欣接受这个契约现要求编写一个程序由键盘输入m计算多少天后百万富翁开始亏钱[第一组自测数据] 18[键盘输入] [第二组自测数据]100↙[键盘输入][正确输出] 10000↙13[正确输出] 25参考程序includeincludemainint nmiscanf "d"mfor i 1i 38iif 001 pow 2i-1 -1 -im 0 breakprintf "d"i-114实验6 循环结构程序设计二一实验目的1进一步熟悉掌握用while 语句do-while 语句和for 语句实现循环的方法2 掌握在程序设计中使用多重循环二实验内容[题目1028求素数]输出2 到200 之间包括2 200 的所有素数注要求1 行1 个素数按由小到大的顺序输出[提示]采用双重循环外层循环产生2 到200 之间的数内层循环对数进行判断是否为素数参考程序includeincludemainint mkifor m 2m 200mk sqrt mfor i 2i kiif mi 0 breakif i k printf "d\n"m[题目1035打印菱形]由键盘输入正数n要求输出2n1 行的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]3 ↙ 2 ↙[正确输出] [正确输出]15参考程序include "stdioh"include "mathh"mainint nijkscanf "d"nfor i 1i 2n1ik abs n1-ifor j 1j kj printf " "for j 1j 2n1-2kj printf ""printf "\n"[题目1038打印图案]由键盘输入正数n要求输出中间数字为n 的菱形图案要求菱形左边紧靠屏幕左边[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]4 ↙ 3[正确输出] [正确输出]1 1121 121 12321 12321 1234321 121 12321 1 1211参考程序includeincludemainint nijkhscanf "d"nfor i -n1i n-1ifor j 0j abs i jprintf " "for k 1k n-abs i k printf "d"kfor h n-abs i -1h 1h-- printf "d"hprintf "\n"16实验7 数组一实验目的1掌握一维数组和二维数组的定义赋值和输入输出方法2 掌握与数组有关的算法二实验内容[题目1039倒序]由键盘输入10 个整数倒序输出数字间由一个空格分隔[ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]66 13 67 99 2 19 20 14 5 70参考程序includemainint a [10]int ifor i 0i 10i scanf "d"a[i]for i 9i 0i-- printf "d\n"a[i][题目1040统计不同数字个数]由键盘输入20 个整数统计不同数字的个数[ 自测数据][键盘输入]70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙[正确输出]16[提示]上述答案中因为5 有1 个重复数字11 有1 个重复数字22 有2 个重复数字故不同数字有16个分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 3317参考程序include"stdioh"mainint a [20]int itp 0for i 0i 20iscanf "d"a[i]for t 0t itif a[t] a [i] breakif t ipprintf "d"p[题目1062打印矩阵]由键盘输入一个3×4 的矩阵要求输出它的转置矩阵[ 自测数据][键盘输入] [正确输出] 1 6 9 3 1 1 11 1 02 6 1 91 9 8 9 9 0 83 2 9参考程序includemainint a [3][4]b[4][3]ijfor i 0i 3ifor j 0j 4jscanf "d"a[i][j]b[j][i] a [i][j]for i 0i 4ifor j 0j 3jprintf "d "b[i][j]printf "\n"*[题目1047冒泡排序]由键盘输入10 个数用冒泡法对10 个数从小到大排序并按格式要求输出代码如下请填充完整数字间由一个空格分隔incude "stdioh"mainint a[10] i j t18for i 0i 10iscanf "d"___________for ___________for j 0j ____jif ______________________for i 0i 10iprintf "d "a[i][ 自测数据][键盘输入]70 5 14 20 19 2 99 67 13 66 ↙[正确输出]2 5 13 14 19 20 66 67 70 99参考程序includemainint a [10]int ijtfor i 0i 10iscanf "d"a[i]for i 0i 9ifor j 0j 9-ijif a[j] a [j1]t a [j] a [j] a[j1] a[j1] tfor i 0i 10iprintf "d "a[i]*[题目1046计算高精度加法]由键盘输入两个位数很长的整数一行一个数每个数最长不超过80 位试计算并输出这两个数的和[ 自测数据][键盘输入]1XXXXXXXXXX23456789 ↙987654321098765 ↙[正确输出]1XXXXXXXXXX4455555419参考程序include "stdioh"include "stringh"mainint a [100] 0 b[100] 0 c[100] 0char s[101]int i 0n1 0n2 0 0e 0gets sn1 strlen sfor i n1-1i 0i-- a[n1-1-i] s[i]-0gets sn2 strlen sfor i n2-1i 0i-- b[n2-1-i] s[i]-0if n1 n2 n1else n2for i 0i ic[i] a[i]b[i]e 10e a[i]b[i]e 10if c[] 0 printf "d"c[]for i -1i 0i--printf "d"c[i]*[题目找矩阵中的鞍点]由键盘输入一个3 ×4 3 行4 列的矩阵输出矩阵中的鞍点即在矩阵行中最大列中最小的数若没有鞍点输出NO 字样[ 自测数据][键盘输入]87 90 110 98 ↙70 97 210 65 ↙98 45 120 30 ↙[正确输出]11020参考程序includemainint ijka[3][4]jflagfor i 0i 3ifor j 0j 4jscanf "d"a[i][j] for i 0i 3ia [i][0]j 0for j 0j 4jif a[i][j]a [i][j] j jflag 1for k 0k 3kif a [k][j]flag 0 breakif flagprintf "d" breakif flagprintf "NO"21实验8 字符数组的应用一实验目的1掌握字符数组和字符串函数的使用2 掌握与字符串处理有关的算法二实验内容[题目1121定义存贮字符串的字符数组]在下面程序中填充定义字符数组的语句使程序完整include "stringh"void mainchar s[80] 定义字符数组sstrcpy s "abcdefghij klmn"printf "s" s参考程序[题目1123字符串的输入与输出]下面程序实现从键盘读入字符串后输出到屏幕请填充必要的语句include "stdioh"void mainchar s[50]printf "Whats your name"gets s 由键盘读入字符串printf "Your name is "printf "s" s 打印字符串参考程序[题目1122字符串的合并]从键盘输入3 个字符串每个字符串以回车符做为结束标志将3 个字符串以输入先后顺序合并到字符串s 中请填空使用程序完整include "stdioh"include "stringh"mainchar s[100] ""char a [30]gets a strcat s a22gets a strcat s agets a strcat s a可以写多行代码printf "s" s[ 自测数据][键盘输入] [正确输出]123 123abc456abc456参考程序[题目1050寻找字符串]由键盘输入两个字符串假设第一个字符串必包含第二个字符串如第一个字符串为ABCDEF第二个为CDE则CDE 包含在ABCDEF 中现要求编程输出第二字符串在第一行字符串中出现的位置如果第二个字符串在第一个字符串中出现多次则以最前出现的为准[第一组自测数据] [第二组自测数据][键盘输入] [键盘输入]ABCDEFG ↙hellhello ↙DE ↙hello ↙[正确输出] [正确输出]4 5[提示]方法1建立双重循环外层循环变量指示第一个串的查找起始位置内层循环从起始位置开始判断第二个字符中是否出现在此处方法2 使用字符串函数strstr参考程序include "stdioh"mainint ijchar a [80] b[80]gets a gets bfor i 0a[i] \0ifor j 0b[j] \0jif a[ij] b[j] breakif b[j] \0 breakif a[i] \0 printf "d"i1else printf "Not Found"23实验9 函数的基本应用一实验目的1掌握定义函数的方法2 掌握函数实参与参的对应关系以及值传递的方式3 掌握函数的嵌套调用和递归调用的方法4 掌握全局变量和局部变量动态变量静态变量的概念和使用方法二实验内容[题目1059函数定义]下面是使用辗转相除法求最大公约数的程序请补充完整程序中函数的定义与调用include "stdioh"int f int m int nint rwhile r mn 0m nn rreturn nmainint a b nscanf "dd" a bprintf "d\n" f a b[题目1083编写函数计算阶乘]下面程序实现由键盘读入整数n计算并输出n 请补充完整计算阶乘的函数long fanc int along in 1for i 1i ai n nireturn nvoid mainint nscanf "d" n24printf "ld" fanc n[题目1124函数中的变量]写出下面程序的运行结果int f1 int xstatic int z 3y 0yzreturn xyzmainint a 1kfor k 0k 3k printf "4d"f1 a 程序运行结果为6 8 10*[题目1084编写递归调用函数实现十进制数转二进制数]下面程序实现由键盘输入一个正整数不大于100000000 输出其对应的二进制数原码表示请填空include "stdioh"void fun int iif i 1fun i2printf "d" i2mainint nscanf "d" nfun n25实验10 指针与结构体一实验目的1通过实验进一步掌握指针的概念会定义和使用指针变量2 能正确使用数组的指针和指向数组的指针变量3 能正确使用字符串的指针和指向字符中的指针变量4 掌握结构体类型变量的定义和使用二实验内容[题目1091交换两数由大到小输出]下面程序交换两数使两数由大到小输出请填空include "stdioh"void swap int p1 int p2int temptemp p1p1 p2p2 tempint mainint ab int papbscanf "dd" a bpa a pb bif a b swap pa pbprintf "d d\n"ab[题目1065数组中的指针]设有如下数组定义int a[3][4] 1357 9111315 17192123计算下面各项的值设数组a 的首地址为2000一个int 类型数占四个字节注意地址则输出地址变量则输出变量值要求一行一个答案不允许多余空行及空格1a[2][1] 2 a[1] 3 a 4 a 15 a 16 a 17 a[2] 18 a 1 19 a2 226参考程序include "stdioh"mainprintf "19\n"printf "2016\n"printf "2000\n"printf "2016\n"printf "2004\n"printf "2016\n"printf "2036\n"printf "2020\n"printf "21"[题目1092函数实现求字符串长度]下面程序以指针方式传递参数由函数实现求字符串长度请填空完成include "stdioh"include "stringh"int f char preturn strlen pint mainchar s[80]int iscanf "s" si f sprintf "d" i[题目1125定义结构体类型]要求定义一个名为student 的结构体类型其包含如下成员1字符数组name 最多可存放10 个字符2 字符变量sex用于记录性别3 整数类型变量num用于记录学号4 float 类型变量score 用于记录成绩并使下列代码完整定义结构体类型struct studentchar name[20]char sex。
习题3 参考答案一、选择题3.1 C 分析:本题考查程序和数组的基本概念。
3.2 A 分析:字符串比较大小是以第1个不相同字符的大小为标准的,跟长度没有关系,B选项不正确;字符串比较大小除了使用库函数strcn3()以外,就只能靠自己写代码来实现了,而不能通过关系运算符来比较大小。
因为字符串在表达式中相当于const char*,即常字符指针,代表的是字符串的首地址,关系运算符会将两个字符串的首地址值比较大小,这是毫无意义的。
C选项不正确。
C语言中只有字符串常量而没有字符串变量,D选项描述不正确;空串的长度为0,而以空格打头的字符串的长度至少为1,因此A选项是正确。
3.3 A 分析:如果第一维的长度没有指定,则定义的同时需要完成初始化,否则不知道分配多大的内存空间给它,所以选项B、C错误;二维数组a[2][3]中只有两个元素,都是一维数组,一维下标最大只能是a[1],所以选项D错误;若完成初始化的二维数组,第一维的长度没有指定,则第一维的大小按如下规则确定:若初值个数能被第二维大小整除,所得的商就是第一维的大小,若不能整除,则所得的商加1作为第一维的大小,所以选项A相当于:double a[1][3] = {6};其中a[0][0]=6,其他元素赋值0,选项A正确,答案为A。
3.4 D 分析:本题考察的知识点是:字符串常量。
在C语言中,字符串常量是以双引号括起来的字符序列。
因此B选项和C选项不正确。
字符序列中可包含一些转义字符,转义字符都是以"\"开头的。
A选项中包含了三个"\",前两个(\\)代表了一个"\"字符,后面一个和"""一起(\")被看作一个""",所以该字符串缺少一个结束的""",因此不正确。
D选项的两个"""之间没有任何字符,代表的是一个空串,是合法的字符串常量,因此D选项正确。
P126 数组的应用习题解答1.改错题见文件“实验指导改错题习题解答”。
2.填空题(在空白处填入适当内容,将程序补充完整,并上机调试)(1)求Fibonachi数列(1,1,2,3,5,8,13,……)的前10项。
#include <iostream.h>void main(){ int f[11]={0,1,1},n;for(n=3;n<=10;n++)f[n]= (1);for( (2);n<=10;n++)cout<<f[n]<<" ";}参考答案(1)f[n]= f[n-1]+f[n-2] (2)n=10(2)从键盘上输入若干学生的成绩,统计出平均成绩,并输出低于平均分的学生成绩,输入负数结束数据的输入。
#include <iostream.h>void main(){ float x[100],sum=0.0,ave,a;int n=0,i;cin>>a;while( (1) ){ sum+=a ;x[n]=a ;(2) ;cin>>a;}ave=sum/n; ;cout<<"ave="<<ave<<endl;for(i=0; (3) ;i++)if( (4) )cout<<x[i]<<" ";}参考答案(1)a>=0 (2)n++ (3) i<n (4)x[i]<ave(3)计算一个3X3矩阵的各列元素的平均值。
#include "iostream.h"#define M 3void main(){int a[M][M]={1,2,3,4,5,6,7,8},i,j;float ave[M];for(i=0;i<M;i++){ (1) ;for(j=0;j<M;j++)ave[i]=ave[i]+ (2) ;ave[i]= (3) ;}for(i=0;i<M;i++)cout<<" "<<ave[i];}参考答案(1)ave[i]=0 (2)a[j][i] (3)ave[i]/M(4)找出一个5x5矩阵中的最小值及其在数组中的位置。
实验七专业_____________ 班级________年级________姓名______________学号_______________一、实验目的1、掌握数组(动态、静态数组、可变数组、数组初始化、控件数组)的定义方法。
2、正确理解和使用数组的下标,熟练掌握数组的引用、赋值输入和输出。
3、学会会一些实际问题二、实验内容1、按图设计窗体:要求,编写适当的事件过程实现①单击“生成”按钮,随机生成的20个10~100之间的整数存放数组a中并在Text1中显示②单击“显示偶数”按钮,在Text2中显示其的所有偶数③单击“显示奇数”按钮,在Text3中显示其的所有奇数D i m a(1T o20)A s I n t e g e r'因为在各个按钮过程都要用到数组a(),所以要定义为全局数组P r i v a t e S u b C o m m a n d1_C l i c k()R a n d o m i z eF o r i=1T o20a(i)=I n t(R n d*81+10)T e x t1.T e x t=T e x t1.T e x t&a(i)&""N e x t iE n d S u bP r i v a t e S u b C o m m a n d2_C l i c k()F o r i=1T o20I f i M o d2=0T h e n T e x t2.T e x t=T e x t2.T e x t&a(i)&""N e x t iE n d S u bP r i v a t e S u b C o m m a n d3_C l i c k()F o r i=1T o20I f i M o d2<>0T h e n T e x t3.T e x t=T e x t3.T e x t&a(i)&""N e x t iE n d S u b2、按图设计窗体:要求,编写适当的事件过程实现①单击“生成数组”按钮,随机生成的20个10~99之间的整数存放数组a中并在列表框List1的列表项显示②单击“求极值”按钮,在Text1中显示其中的最大数,在Text2中显示其中最小数D i m a(20)A s I n t e g e rP r i v a t e S u b C o m m a n d1_C l i c k()R a n d o m i z eF o r i=1T o20a(i)=I n t(R n d*90+10)L i s t1.A d d I t e m a(i)N e x t iE n d S u bP r i v a t e S u b C o m m a n d2_C l i c k()D i m m a x%,m i n%m a x=a(1):m i n=a(1)F o r i=1T o20I f m a x<a(i)T h e n m a x=a(i)I f m i n>a(i)T h e n m i n=a(i)N e x t iT e x t1.T e x t=m a x:T e x t2.T e x t=m i nE n d S u b3、要求,编写适当的事件过程实现①单击“生成”按钮,随机生成的30个ASCII值为65~122之间的字符存放数组s中并显示在Text1②单击“分类”按钮,在Text2中显示其中的大写字母,在Text3中显示其中小写字母D i m a(1T o20)A s S t r i n gP r i v a t e S u b C o m m a n d1_C l i c k()T e x t1.T e x t=""R a n d o m i z eF o r i=1T o20a(i)=C h r(I n t(R n d*58+65))T e x t1.T e x t=T e x t1.T e x t&a(i)&""N e x t iE n d S u bP r i v a t e S u b C o m m a n d2_C l i c k()T e x t2.T e x t="":T e x t3.T e x t=""F o r i=1T o20I f A s c(a(i))>=65A n d A s c(a(i))<=90T h e n T e x t2.T e x t=T e x t2.T e x t&a(i)&""I f A s c(a(i))>=97A n d A s c(a(i))<=122T h e n T e x t3.T e x t=T e x t3.T e x t&a(i)&""N e x t iE n d S u b4、按图设计窗体:要求,编写适当的事件过程实现①单击“生成”按钮,随机生成的30个值为10~99之间的整数存放数组a中并显示在Text1②单击“处理”,选出其中能被3整除但不能被6整除的数,显示在Text2中,并统计其个数和平均值(保留小数以下一位)显示在Text3和Text4中③单击“退出”,结束运行D i m a(1T o30)A s I n t e g e rP r i v a t e S u b C o m m a n d1_C l i c k()T e x t1.T e x t=""R a n d o m i z eF o r i=1T o30a(i)=I n t(R n d*90+10)T e x t1.T e x t=T e x t1.T e x t&a(i)&""N e x t iE n d S u bP r i v a t e S u b C o m m a n d2_C l i c k()D i m s u m A s I n t e g e rT e x t2.T e x t=""F o r i=1T o30I f a(i)M o d3=0A n d a(i)M o d6<>0T h e nT e x t2.T e x t=T e x t2.T e x t&a(i)&""k=k+1'统计符合条件的个数ks u m=s u m+a(i)'统计符合条件的数的和E n d I fN e x t iT e x t3.T e x t=kT e x t4.T e x t=s u m/kE n d S u bP r i v a t e S u b C o m m a n d3_C l i c k()E n dE n d S u b5、按图设计窗体:要求,十个文本框为控件数组,编写适当的事件过程实现①单击“评委给歌手打分”,随机生成10个9.0~9.9依次显示在文本框控件数组中②单击“评分”,把十个评委中去掉一个最高和一个最低分后,平均分显示的Text2中D i m a(9)A s S i n g l eP r i v a t e S u b C o m m a n d1_C l i c k()R a n d o m i z eF o r i=0T o9T e x t1(i)=F o r m a t(R n d+9,"0.0")N e x t iE n d S u bP r i v a t e S u b C o m m a n d2_C l i c k()D i m m a x!,m i n!,s u m!m a x=T e x t1(0):m i n=T e x t1(0)F o r i=0T o9s u m=s u m+T e x t1(i)I f m a x<T e x t1(i)T h e n m a x=T e x t1(i)I f m i n>T e x t1(i)T h e n m i n=T e x t1(i)N e x t iT e x t2.T e x t=(s u m-m a x-m i n)/8E n d S u b6、打开工程文件7_6.vbp,其窗体中有一个名为Text1的文本框数组,下标从0开始,程序运行时,单击“产生随机数”就会产生10 个3位的整数并放入到Text1数组中;单击“重排数据”,将把其中的奇数移到前,偶数移到后面。
E-Prime实验设计技术_华南师范大学中国大学mooc课后章节答案期末考试题库2023年1.实验过程也可以由拷贝粘贴生成。
参考答案:正确2.下列设计,实验运行肯定会出错的是()。
参考答案:_3.如果y=Random(0,200) ,则y可能的是:参考答案:11_199_04.如下图所示的结构设计,能实现的材料逐个呈现效果有()。
【图片】参考答案:逐种随机抽取_同种材料不连续呈现_均衡顺序_完全随机5.下面不能用来呈现图片的控件是()。
参考答案:List6.假如有9种实验材料,要求随机逐种呈现,则宜采用的设计模式是()。
参考答案:平衡模式7.不能进行刺激材料呈现和设置的对象有()。
参考答案:Label8.下列数据中,能打入到脑电的Mark是( )。
参考答案:1_2559. 2.0版本的E-Prime无法实现反应正误Mark的标记。
参考答案:错误10.用“化整为零+随机打乱判断法”中的零单位,只要小于30的数都可以。
参考答案:错误11.E-Prime对象的复制,是在()窗口内进行。
参考答案:Browser##%_YZPRLFH_%##browser##%_YZPRLFH_%##对象浏览12.E-Prime各界面的大小不能设置为16:9,只能是默认的4:3 。
参考答案:错误13.用Inline来生成动态答案,通常使用的命令是()。
参考答案:setattrib##%_YZPRLFH_%##c.setattrib##%_YZPRLFH_%##Setattrib## %_YZPRLFH_%##C.Setattrib##%_YZPRLFH_%##c.Setattrib##%_YZPRL FH_%##C.setattrib14.E-Prime调用功能键的符号是()。
参考答案:{}15.instr(3,"abcdefg","f")=()。
参考答案:616.下图实验设计中,①②③④标识的语句中,哪一行将运行出错?( )【图片】参考答案:③17.不管是二维数组还是一维数组,其下标变量的最小值均为1。
实验(6)-数组-参考答案C语⾔程序设计实验教学(6)【实验⽬的】数组的应⽤是很重要的⼀章。
通过实验掌握⼀维数组的主要应⽤,并理解数组的存储。
对⼆维数组的处理要⽐较熟悉。
【实验要求】⼀维数组的题⽬要求全⾯掌握,应⽤循环结构完成⼀维数组的输⼊、处理和输出。
⼆维数组能够完成简单的数据处理和应⽤。
【实验课时】8.0【实验内容】⼀维数组:1、定义⼀个可以存放10个元素的int数组a,输⼊10个数,并逆序输出。
#include#includevoid main( ){int a[10], i; clrscr();printf("Please input array a :");for(i=0;i<10;i++)scanf("%d", &a[i]);/* 由键盘逐次输⼊值赋予数组各元素*/for(i=9;i>=0;i--) /* 变量i递减控制着数组元素倒序输出*/ printf("%5d", a[i]);}2、⽤数组来保存Fibonacci数列前20项数值,以每5个数据为⼀⾏进⾏输出。
#include#includevoid main( ){int i; long f[20]; clrscr();f[0]=1;f[1]=1;for(i=2;i<20;i++)f[i]=f[i-1]+f[i-2];for(i=0;i<20;i++){if(i%5==0) printf("\n");printf("%10ld",f[i]);}}3、统计具有10个元素的⾃然数数组num中的奇数个数。
#include#includevoid main( ){int i,num[10],count=0; clrscr();for(i=0;i<10;i++){printf("enter NO %d : ",i+1);/*给予输⼊提⽰*/scanf("%d",&num[i]);if(num[i]%2!=0) count++;}printf("Count is:%d\n",count );}4、计算整数数组a中的最⼤值及其所在的下标。
实验6 数组的应用
【实验目的】
1掌握数组定义和初始化的方法。
2熟悉使用字符数组处理字符串处理的方法。
【实验内容】
⒈输入10个学生的成绩,求平均成绩,并将低于平均成绩的分数打印出来。
#include <iostream.h>
#include <iomanip.h>
void readdata(float score[10])
{cout<<"Please input 10 student's score:"<<endl;
for(int i=0;i<10;i++)
cin>>score[i];}
float aver(float score[10])
{ float sum=0;
int i;
for(i=0;i<10;i++)
sum+=score[i];
return(sum/10); }
void print(float score[10],float ave)
{int i;
cout<<"the scores which are below the average:";
for(i=0;i<10;i++)
if(score[i]<ave)
cout<<score[i]<<" ";
cout<<endl;
return; }
void main( )
{ void readdata(float score[10]);
float aver(float score[10]);
void print(float score[10],float ave);
float ave,score[10];
readdata(score);
ave=aver(score);
cout<<"average="<<ave<<endl;
print(score,ave);
}
⒉编写一程序,从键盘任意输入两个字符串s1和s2,然后比较字符串的大
小,若s1>s2,输出1;若s1=s2,输出0;若s1<s2,输出-1;
#include <string.h>
#include <stdio.h>
#include<iostream.h>
void main()
{ int k;
char s1[30],s2[30 ];
cout<<"input a string: "<<endl;
gets(s1);
gets(s2);
k=strcmp(s1,s2);
if(k==0) cout<<"0 \n";
if(k>0) cout<<"1\n";
if(k<0) cout<<"-1\n"; }
⒊应用一维数组,对10个从键盘输入的数进行冒泡排序,使其按照从大到小的顺序输出。
#include <iostream.h>
void main()
{int a[10];
i nt i,j,t;
c out<<"Input ten data:"<<endl;
f or(i=0;i<10;i++)
{ cout<<"a["<<i+1<<"]=";
cin>>a[i]; }
f or(i=0;i<=8;i++)
{ for(j=i+1;j<=9;j++){
if(a[i]<a[j])
{ t=a[i];
a[i]=a[j];
a[j]=t;}
}
}
c out<<"sorte
d data:"<<endl;
f or(i=0;i<=9;i++)
cout<<"a["<<i+1<<"]="<<a[i]<<" "<<endl;
}
⒋应用二维数组打印如图所示杨辉三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include <iostream.h>
void main()
{ int y[5][5];
int i,j,n=5;
for(i=0;i<n;i++)
{ y[i][i]=1;
y[i][0]=1;}
for(i=2;i<n;i++)
{ for(j=1;j<i;j++)
y[i][j]=y[i-1][j-1]+y[i-1][j];}
cout<<"杨辉三角形:"<<endl;
for(i=0;i<n;i++)
{ cout<<" ";
for(j=0;j<=i;j++)
cout<<y[i][j]<<" ";
cout<<endl;}
}
⒌编程序将输入的字符串删去空格输出。
#include<iostream.h>
#include<stdio.h>
void main()
{ char str[50];
int i=0,j;
gets(str);
while(str[i]!=NULL)
{ if(str[i]==' ')
{ j=i;
while(str[j]!=NULL)
{ str[j]=str[j+1];
j++;}
}
i++;}
cout<<str<<endl; }。