C语言程序设计实验报告实验大纲过程.doc
《C语言程序设计实验报告实验大纲过程.doc》由会员分享,可在线阅读,更多相关《C语言程序设计实验报告实验大纲过程.doc(27页珍藏版)》请在咨信网上搜索。
. . ?C程序设计?实验教学大纲 一、适用X围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和根本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规那么,使学生全面了解 C 语言的特点,熟练掌握C 语言程序设计的根本方法和编程技巧。 根本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,到达实验知识和理论知识的融会贯穿。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机完毕后,应整理出实验报告。 五、实验工程与学时分配 序号 实验工程名称 实验学时 实验类型 1 C程序的运行环境和运行一个C程序的方法 2 验证性实验 2 数据类型、运算符和表达式 3 验证性实验 3 最简单的C程序设计 3 验证性实验 4 选择构造程序设计 4 设计性实验 5 循环控制 4 设计性实验 6 数组 4 设计性实验 7 函数 4 设计性实验 8 指针 4 设计性实验 总计 28 注:带*的实验工程为选做实验工程 六、教材、讲义及参考书 ?C程序设计题解与上机指导?谭浩强主编清华大学 七、实验成绩评定方法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进展综合考核。 2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验工程为选做实验工程,实际课时为18学时。实验工程多为设计性实验工程,每个设计性实验工程中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验工程 实验一 C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的根本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进展编译和运行。应了解所用的系统是用什么命令进展编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二 数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; printf(“%c %c\n〞,c1,c2); printf(“%d %d\n〞,c1,c2); } 在此根底上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序: main( ) {int i=8,j=10,m,n; m=++i;n=j++; printf(“%d,%d,%d,%d\n〞,i,j,m,n); } 分别作以下改动并运行: ①程序改为: main( ) {int i=8,j=10; printf(“%d,%d\n〞,i++,j++); } ②在②的根底上,将printf语句改为: printf(“%d,%d\n〞,++i,++j); ③再将printf语句改为: printf(“%d,%d,%d,%d\n〞,i,j, i++,j++); ④程序改为: main( ) {int i=8,j=10,m=0,n=0;; m+=i++;n-=--j; printf(“i=%d,j=%d,m=%d,n=%d\n〞,i,j,m,n); } 3. 请将以下给出的两个程序段分别输入计算机后,分析其运行结果: ①main() { int num; num=32767; printf(“num=%d\n〞,++num); } ② main() { int a=-2; printf(“%d, %d\n〞,a, a--); } 实验三 最简单的C程序设计 一、实验目的 1.掌握C语言中使用最多的一种语句——赋值语句的使用。 2.掌握数据的输入输出的方法,能正确使用各种格式转换符。 二、实验内容 1.上机输入以下程序: main( ) {int a,b;float c; scanf(“%d%d%f〞,&a,&b,&c); printf(“a=%-4d,b=%4d,c=%f,c=%.2f\n〞,a,b,c,c); } 要使a=3,b=4,c=12.3456,在键盘上应如何输入?有几种方式? 2.假设将输入函数改为scanf(“%d, %d ,%f〞,&a,&b,&c);应该如何输入数据? 3.上机输入以下程序: main( ) {int a; float b; char c; scanf(“%4d%5f%3c〞,&a,&b,&c); printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n〞,a,a,a,b,b,c); } 要使a=77,b=4.56,c= ‘A’,在键盘上应如何输入? 4.输入两面整型变量a、b的值,输出以下算式以及运算结果。 a+b、a-b、a*b、a/b、(float)a/b、a%b 每个算式占一行。如a等于10,b等于6,a+b应输入为: 10+6=16 5.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比拟用printf和putchar函数输出字符的特点。 实验四 选择构造程序设计 一、实验目的 1.了解C语言表示逻辑量的方法(以0代表“假〞,以1代表“真〞); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。 二、实验内容 先编程序,解以下问题,然后上机调试运行程序。 1.有一个函数 用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值。 2.给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。 要求分别用if语句和switch语句实现 3.输入一个三位数,假设此数是水仙花数输出“Y〞,否那么输出“N〞, 假设输入值不是三位数输出“data error〞。 提示:水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等。如:153=13+53+33。判断是否是水仙花数需把构成三位数的三个数字别离出来并存入变量。 实验五 循环控制 一、实验目的 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 二、实验内容 编程序并上机调试运行。 1.输入两个正整数,求其中最大公约数和最小公倍数。 2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 3.打印出以以下图案: * *** ***** ******* ***** *** * 4.编程求1!+2!+3!+……+20!。 5.编写程序输出乘法表 实验六 数组 一、实验目的 1.掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法(特别是排序算法)。 二、实验内容 编程序并上机调试运行。 1. 编写程序,用scanf函数输入10个整数的数列,先将整数按照从大到小的顺序进展排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。 2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,那么输出“无此数〞 ,并且可以实现连续查找。15个数用赋初值的方法在程序中给出,要找的数用scanf函数输入。 3.将以下二维数组中数按列的顺序存放到一个一维数组中。二维数组的内容是 11 22 33 44 11 22 33 44 11 22 33 44 那么一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 44 4.将两个字符串连接起来,不要用strcat函数。 5.从键盘输入5个字符串,找出最长的字符串和最大的字符串。 实验七 函数 一、实验目的 1.掌握定义函数的方法; 2.掌握函数实参与形参的对应关系,以及“值传递〞的方式; 3.掌握函数的嵌套调用和递归调用的方法; 4.掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。 二、实验内容 编程序并上机调试运行之。 1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。 2.两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。 3.二阶Fibonacci数列: 0 假设n=0 Fib(n)= 1 假设n=1 Fib(n-1)+Fib(n-2) 其他情况 定义递归函数求Fib(n)。 4. 编写函数,求 实验八 指针 一、实验目的 1.掌握指针的概念,会定义和使用指针变量; 2.学会使用数组的指针和指向数组的指针变量; 3.学会使用字符串的指针和指向字符串的指针变量; 4.学会使用指向函数的指针变量; 5.了解指向指针的指针的概念及其使用方法。 二、实验内容 编程序并上机调试运行程序〔都要求用指针处理〕。 1.定义函数void fun(int x[ ],int *max,int *min),找出数组x中的最大值和最小值,最大值和最小值通过形参指针max和min传回。 2.编写一个函数p(s1,s2)实现两个字符串的比拟。 如果s1=s2,那么函数返回值为0;如果s1≠s2,返回它们二者第一个不同字符的ASCII码差值(如“BOY〞与“BAD〞,第二个字母不同,“O〞与“A〞之差为79-65=14);如果s1>s2,那么输出正值;如s1<s2那么输出负值。 两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出。 3.从键盘输入一个字符串与一个指定字符,调用函数,将字符串中出现的指定字符全部删除。 4.将一个3×3的矩阵转置,用一函数实现。 在一主函数中用scanf函数输入以下矩阵元素: 1 3 5 7 9 11 13 15 17 将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用完毕后在主函数中输出转置后的矩阵。 实验九 构造体和共用体 一、实验目的 1.掌握构造体类型变量的定义和使用; 2.掌握构造体类型数组的概念和应用; 3.掌握链表的概念,初步学会对链表进展操作; 4.掌握共用体的概念与使用。 二、实验内容 编程序,然后上机调试运行。 1.有3个学生,每个学生的数据包括学号、三门课的成绩,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成绩。 2.建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点的数据。在链表中查找年龄最大的结点,并将链表中等于此年龄的结点删除〔年龄最大的结点可能不止一个〕。 *3.将一个链表按逆序排列,即将链头当链尾,链尾当链头。 4.上机输入如下程序: main( ) {union bt {int k; char c[2];}a; a.k= -7; printf(“%o,%o\n〞,a.c[0],a.c[1]); } 分析其运行结果。 实验十 位运算 一、实验目的 1.掌握按位运算的概念和方法,学会使用位运算符; 2.学会通过位运算实现对某些位的操作。 二、实验内容 编写程序,上机调试并运行。 1.编一个函数getbits,从一个16位的单元中取出某几位(即该几位保存原值,其余位为0)。函数调用形式为:getbits(value,n1,n2) value为该16位数的值,n1为欲取出的起始位,n2为欲取出的的完毕位。如:getbits(0101675,5,8)表示对八进制数101675,取出其从左面起的第5位到第8位。 要求把这几位数用八进制数打印出来。注意,应当将这几位数右移到最右端,然后用八进制形式输出。 2.利用位运算操作,实现交换两个变量的值。 3.将一个十六进制整数的各位循环左移4位,然后用十六进制形式输出。 实验十一 文件 一、实验目的 1.掌握文件以及缓冲文件系统、文件指针的概念; 2.学会使用文件翻开、关闭、读、写等文件操作函数。 3.学会用缓冲文件系统对文件进展简单的操作。 二、实验内容 编写程序并上机调试运行。 1.编程序求100以内的素数,分别将它输出到显示器屏幕和x.txt文件中,要求每行5个数。 2.从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt和二进制文件s.dat。 *3.从上题的文本文件s.txt或二进制文件s.dat中读入每本书的数据,计算所有书的平均价格。要求用input函数读入,average函数求平均价格。 统计与信息学院 ?C程序设计?实验报告〔 一 〕 学号: : 班级: 成绩: 实验名称:C程序的运行环境和运行一个C程序的方法 指导教师: 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.了解Visual C++6.0编译系统的根本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 实 验 过程 与 步 骤 实验①: 1、 翻开Visual C++6.0。 2、 新建文件 C++ Source File,文件名.c并更改位置后确定。 3、 编辑 #include"stdio.h" int main() { printf("This is a C program.\n"); return 0; } 4、 编译,无错误无警告后执行 实验②: #include"stdio.h" int main() { printf("****************************\n"); printf("Very good!\n"); printf("****************************\n"); return 0; } 实验③: #include"stdio.h" int main() { printf("This is a C program.\n"); return 0; } 实验 总结 统计与信息学院 ?C程序设计?实验报告〔 二 〕 学号: : 班级: 成绩: 实验名称:数据类型、运算符和表达式 指导教师: 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 实 验 过程 与 步 骤 实验① 1、 运行Visual C++6.0并新建工作区 2、 输入 #include<stdio.h> main() {char c1,c2; c1=321;c2=353; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); } 3、 编译,无错误、无警告后运行,结果如下: 4、 在步骤2的根底上将第三行、第四行改为: c1=321;c2=353; 5、 编译,无错误、无警告后运行,结果提示: aa.obj - 0 error(s), 2 warning(s) 6、 在步骤2的根底上将第二行改为: int c1,c2; 7、 编译,无错误、无警告后运行,结果如下: 实验② 1、 输入 #include<stdio.h> main() {int i=8,j=10,m,n; m=++i;n=j++; printf("%d,%d,%d,%d\n",i,j,m,n); } 实验③ 1、输入 #include<stdio.h> main() {int num; num=32767; printf("num=%d\n",++num); } 2、 编译,无错误、无警告后运行,结果如下: 2、编译,无错误、无警告后运行,结果如下: 3、 将步骤2程序改为: #include<stdio.h> main() {int i=8,j=10; printf("%d,%d\n",i++,j++); } 4、 编译,无错误、无警告后运行,结果如下: 5、 在步骤3的根底上,将printf语句改为: printf(“%d,%d\n〞,++i,++j); 6、 编译,无错误、无警告后运行,结果如下: 7、 在步骤3的根底上,将printf语句改为: printf(“%d,%d,%d,%d\n〞,i,j, i++,j++); 8、 编译,无错误、无警告后运行,结果如下: 9、 将步骤2程序改为: #include<stdio.h> main() {int i=8,j=10,m=0,n=0; m+=i++,n-=--j; printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n); } 10、编译、运行,结果如下: 3、 输入 #include<stdio.h> main() {int a=-2; printf("%d,%d\n",a,a--); } 4、 编译,无错误、无警告后运行,结果如下: 实验 总结 统计与信息学院 ?C程序设计?实验报告〔 三 〕 学号: : 班级: 成绩: 实验名称:最简单的C程序设计 指导教师: 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.掌握C语言中使用最多的一种语句——赋值语句的使用。 2.掌握数据的输入输出的方法,能正确使用各种格式转换符。 实 验 过程 与 步 骤 实验① 1、 运行Visual C++6.0并新建工作区 2、 输入 #include<stdio.h> main() {int a,b;float c; scanf("%d%d%f",&a,&b,&c); printf("a=%-4d,b=%4d,c=%f,c=%.2f\n",a,b,c,c); } 3、 编译,无错误、无警告后运行,结果如下: 有空格、tab、回车三种输入方式。 4、 将步骤2中的scanf("%d%d%f",&a,&b,&c);改为scanf(“%d, %d ,%f〞,&a,&b,&c); 5、 编译,无错误、无警告后运行,结果如下: 实验② 1、 输入 #include<stdio.h> main() {int a;float b;char c; scanf("%4d%5f%3c",&a,&b,&c); printf("a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n",a,a,a,b,b,c); } 2、 编译,无错误、无警告后运行,结果如下: 实验③ (1) a+b 1、 输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("%d+%d=%d\n",a,b,c); } 2、 编译,无错误、无警告后运行,结果如下: (2) a-b 1、 输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=a-b; printf("%d-%d=%d\n",a,b,c); } 2、 编译,无错误、无警告后运行,结果如下: (3) a*b 1、 输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=a*b; printf("%d*%d=%d\n",a,b,c); } 2、 编译,无错误、无警告后运行,结果如下: 实验④ 〔1〕getchar输出 1、输入 #include<stdio.h> int main() { char c1,c2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); return 0; } 2、编译,无错误、无警告后运行,结果如下: (4) a/b 1、输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=a/b; printf("%d/%d=%d\n",a,b,c); } 2、编译,无错误、无警告后运行,结果如下: (5) (float)a/b 1、输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=(float)a/b; printf("%d/%d=%d\n",a,b,c); } 2、编译,无错误、无警告后运行,结果如下: (6) a%b 1、输入 #include<stdio.h> main() { int a,b,c; scanf("%d,%d",&a,&b); c=a%b; printf("%d%%%d=%d\n",a,b,c); } 2、编译,无错误、无警告后运行,结果如下: 〔2〕printf输出 1、输入 #include<stdio.h> int main() { char c1,c2; c1=getchar(); c2=getchar(); printf("%c%c\n",c1,c2); return 0; } 2、编译,无错误、无警告后运行,结果如下: 实验 总结 统计与信息学院 ?C程序设计?实验报告〔 四 〕 学号: : 班级: 成绩: 实验名称:选择构造程序设计 指导教师:X雄 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.了解C语言表示逻辑量的方法(以0代表“假〞,以1代表“真〞); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。 实 验 过程 与 步 骤 实验① 1、 运行Visual C++6.0。 2、 输入 #include<stdio.h> int main() { int x,y; scanf("%d",&x); if(x<1) y=x; else if(x>=10) y=3*x-11; else y=2*x-1; printf("x=%d,y=%d\n",x,y); return 0; } 3、 编译,无错误、无警告后运行,结果如下: X<1时, 1=<x<10时, x>=10时, 〔2〕switch语句 1、输入 #include<stdio.h> main() { float x;int y;char ch; printf("Your score:"); scanf("%f",&x); y=x/10; switch(y) { case 10:case 9:ch='A';break; case 8:ch='B';break; case 7:ch='C';break; case 6:ch='D';break; default:ch='E'; } printf("%c\n",ch); return 0; } 2、编译,无错误、无警告后运行,结果如下: 实验② 〔1〕if语句 1、输入 #include<stdio.h> main() { float x;char ch; scanf("%f",&x); if(x>=90) ch="A"; else if(x>=80) ch="B"; else if(x>=70) ch="C"; else if(x>=60) ch="D"; else ch="E"; printf("%c\n",ch); } 2、编译,无错误、无警告后运行,结果如下: 实验③:〔水仙花数〕 1、输入 #include<stdio.h> int main() { int m,a,b,c; scanf("%d",&m); if(m/100==0) { printf("data error\n"); return 0; } a=m%10; b=(m/10)%10; c=m/100; if(m==a*a*a+b*b*b+c*c*c) { printf("Y\n",m); return 0; } else { printf("N\n",m); return 0; } } 2、编译,无错误、无警告后运行,结果如下: 实验 总结 统计与信息学院 ?C程序设计?实验报告〔 五 〕 学号: : 班级: 成绩: 实验名称:循环控制 指导教师: 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 实 验 过程 与 步 骤 实验①:输入两个正整数,求其中最大公约数和最小公倍数。 〔1〕求最大公约数 1、输入 #include<stdio.h> main() {int m,n,i,t; scanf("%d%d",&m,&n); if(n<m) {t=n;n=m;m=t; } i=m; while(1) {if(m%i==0&&n%i==0) break;i--; } printf("它们的最大公约数是:%d\n",i); return 0; } 2、编译,无错误、无警告后执行,结果如下: 〔2〕求最小公倍数 1、输入 #include<stdio.h> main() {int m,n,i,t; scanf("%d%d",&m,&n); if(n<m) {t=n;n=m;m=t; } 实验②:输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 1、输入 #include<stdio.h> main() {char c; int letter,space,number,other; letter=space=number=other=0; do { c=getchar(); if(c>='a'&&c<='z'||c>='A'&&c<='Z') letter++; else if(c>='0'&&c<='9') number++; else if(c==' ') space++; else other++; } while(c!='\n'); printf("letter=%d,space=%d,number=%d, other=%d\n",letter,space,number,other); return 0; } 2、编译,无错误、无警告后执行,结果如下: 实验③:打印出以以下图案:7行7列菱形 1、输入 #include<stdio.h> #define n 3 int main() {int i,j; for(i=0;i<=n;i++) {for(j=1;j<=n-i;j++) printf(" "); i=m; while(1) {if(i%m==0&&i%n==0) break;i++; } printf("它们的最小公倍数是:%d\n",i); return 0; } 2、编译,无错误、无警告后执行,结果如下: 实验⑤:编写程序输出乘法表 1、 输入 #include<stdio.h> main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%-3d",j,i,i*j); printf("\n"); } system("pause"); } 2、 编译,无错误、无警告后运行,结果如下: for(j=1;j<=2*i+1;j++) printf("*"); printf("\n"); } for(i=n-1;i>=0;i--) {for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i+1;j++) printf("*"); printf("\n"); } } 2、编译,无错误、无警告后运行,结果如下: 实验④:编程求1!+2!+3!+……+20!。 1、输入 #include<stdio.h> int main() { int n,m=1,sum=0; for(n=1;n<=20;n++) { m=n*m; sum=sum+m; } printf("1+2!+3!...+20!=%d\n",sum); } 2、编译,无错误、无警告后运行,结果如下: 实验 总结 统计与信息学院 ?C程序设计?实验报告〔 六 〕 学号: : 班级: 成绩: 实验名称:数组 指导教师: 实验日期: 实验地点: 实验软件〔主要仪器设备〕:Visual C++6.0 实 验 要求 1.掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法(特别是排序算法)。 实 验 过程 与 步 骤 实验①:编写程序,用scanf函数输入10个整数的数列,先将整数按照从大到小的顺序进展排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。 1、输入 #include<stdio.h> main () {void Rank(int N,int n[]); int i,j,k; int n[11]; for(i=0;i<10;i++) scanf("%d",&n[i]); Rank(10,n); scanf("%d",&k); if(k>n[9]) n[10]=k; else {for(i=0;n[i]<=k;i++); for(j=9;j>=i;j--) n[j+1]=n[j]; n[i]=k; } for(i=0;i<=10;i++) printf("%-4d",n[i]); printf("\n"); } void Rank(int N,int n[]) {int i,k,t; for(k=1;k<=N-1;k++) for(i=N-1;i>=k;i--) if(n[i-1]>n[i]) 实验②:有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,那么输出“无此数〞- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 报告 大纲 过程
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文