C语言实验作业
- 格式:doc
- 大小:45.00 KB
- 文档页数:5
实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。
如键入any boy并回车,则2。
补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。
下面给出部分程序的内容,请将程序补充完整,然后上机调试。
部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。
实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
Problem A: 只有一个二元运算符的表达式运算Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 5044 Solved: 1937[Submit][Status][Web Board]Description编程序读入并计算只有一个二元运算符的表达式的值。
用到的二元运算符有:“+”、“-”、“*”、“/”、“%”,与C语言的语法一致。
Input每行输入一个表达式,格式为:二个整型的操作数a和b,中间用一个符号分开,这个符号就是运算符。
测试样例不存在除数为0的情况。
输入以a和b为0,且用一个空格分开结束。
Output每行对应输入的运算符为“+”、“-”、“*”、“/”、“%”,则计算a+b、a-b、a*b、a/b、a%b的值;否则输出“invalid op”。
Sample Input33+58*92.21-617/39%30 0Sample Output3872invalid op-55#include<stdio.h>#include<math.h>void main(){int i,a,b;char c;for(i=0;i<=100;i++){for(;scanf("%d%c%d",&a,&c,&b)!=EOF;) if(a==0&&c==' '&&b==0)goto loop;elseswitch(c){case'+':printf("%d\n",a+b);break;case'-':printf("%d\n",a-b);break;case'*':printf("%d\n",a*b);break;case'/':printf("%d\n",a/b);break;case'%':printf("%d\n",a%b);break;default:printf("invalid op\n");}}loop:i=101;}Problem B: 摄氏——华氏温度转换表Time Limit: 1 Sec Memory Limit: 2 MBSubmit: 6632 Solved: 1711[Submit][Status][Web Board]Description已知华氏温度F,转换为摄氏温度C的公式为C=(F-32)*5/9。
实验一C程序设计入门1.编程输出‚我的信息‛;#include <stdio.h>main(){printf("My Information:\n");printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");}2.编程:定义一个名为all的整型变量并为其赋值100。
分别计算all 的两倍及其平方,用文字什么的输出结果;#include <stdio.h>main(){int all=100;int x,y;x=2*all;y=all*all;printf("all的两倍是:%d\n all的平方是:%d\n",x,y);}3.编程求以下表达式的值;#include <stdio.h>#include <math.h>main(){float x;x=23+(pow(16,2)-15)/(9+14);printf("x=%.4f\n",x);}4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)#include <stdio.h>main(){int x;float y;x=3/2+4/3+5/4+6/5;y=3.0/2+4.0/3+5.0/4+6.0/5;printf("x=%d\ny=%.4f\n",x,y);}实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。
(结果保留两位小数)#include <stdio.h>main(){float x,a,b;printf("Input the height:");scanf("%f%f",&a,&b);x=(a+b)/2;printf("The average height is:%.2f\n",x);}2。
实验一 简单的C/C++程序练习1.编程序求某位学生的平均分。
要求输入该生4门课的成绩,程序即可输出其平均分。
运行结果示例:练习2.编程序求半径为r 、高为h 的圆柱体的体积。
要求输入r 和h 的值,程序即可输出体积。
要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习3.编写程序,求函数 的值。
要求输入x ,程序即可输40cos 2)3lg(2⨯++=πx y 出y 的值。
要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习4.输入一字符,编程序判断输入字符的种类(字母、数字、其它)。
要求:利用if 条件语句编程。
运行结果示例:*练习5.编写程序,输入一个3位整数,依次输出该数的正(负)号和百位、十位、个位数字。
运行结果示例:实验二 顺序与分支程序设计练习1.编写程序,求函数 的值。
要求输入x ,程序即可输出︒⨯++=30sin 53x e x y πy 的值。
要求:将π值定义为符号常量,例如:# define PI 3.14159运行结果示例:练习2.编写程序,实现下列分段函数的求值:| x |x<5y = 3x2-2x+15≤x<20x /5x≥20要求:利用if条件语句(嵌套)编程。
练习3.编写程序,将输入的3个整数按降序输出。
运行结果示例:要求:利用条件表达式进行判别。
练习4.编写程序,输入上网的时间计算上网费用,计算的方法如下:25元<10小时费用= 每小时2.5元10~50小时每小时2元≥50小时同时,为了鼓励多上网,每月收费最多不超过130元。
要求:使用switch语句编程。
*练习5.编写程序,能够计算两个数的+、-、*、/ 的简易计算器。
提示:利用switch条件语句编程。
运行结果示例:实验三循环程序设计一.实验目的1.掌握各种循环语句的程序设计。
三.实验内容练习1.输出50-100之间所有奇数的累加和。
C语⾔实验五最简单的C语⾔程序设计实验5:最简单的C语⾔程序设计⼀、实验⽬的:(1)掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤⽅法。
(2)掌握各种类型数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。
(3)进⼀步掌握编写程序和调试程序的⽅法。
⼆、实验内容和步骤:1、通过下⾯的程序掌握各种格式转换符的正确使⽤⽅法。
(1)输⼊以下程序:/* Note:Your choice is C IDE */# includeint main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d\np=%u,q=%u\n",f,g,m,n,p,q);显⽰结果:(2)运⾏此程序并分析结果。
(3)在此基础上,将程序第10~14⾏改为c1=a,c2=b;f=3157.890121;g=0.123456789;d=f;e=g;运⾏程序,分析结果。
/* Note:Your choice is C IDE */#include"stdio.h"int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q);}显⽰结果:(4)⽤sizeof运算符分别检测程序中各类型的数据占多少字节。
计算机软件技术基础实验报告实验一:线性表的排序与查找一.实验内容a)键盘输入一组无序数据,添加到线性表中;b)排序线性表并输出排序结果;c)键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;d)键盘输入一个数,并从线性表中删除相应的数据,输出结果。
二,源程序// Experiment1。
cpp :定义控制台应用程序的入口点。
//#include "stdafx.h”#include "iostream”#include 〈conio。
h〉// 程序实现有各种方法,这里给出一个实例。
// 定义一个线性表const int nMaxSize = 15;// 最大值int nLen = 0; // 表中元素个数int nLinearList[nMaxSize];// 定义操作void LSort();void LOut();void LInsert(int n);void LDelete(int n);int main(int argc,TCHAR*argv[]){// 输入数据并放入线性表中printf(”Pleas e input data\n"); // std::cout 〈< "Please input data\n”;int nIn = 0;for (int i = 1; i <= 10;i++){scanf(”%d”,&nIn);// std::cin >〉nIn;nLinearList[i] = nIn;nLen++;}LSort();// 排序线性表LOut();// 输出结果printf(”Please input a data to i nsert \n”);scanf(”%d”,&nIn);LInsert(nIn);// 输入一个数字,并插入到线性表中LOut();printf(”Please input a data to delete \n");scanf("%d”,&nIn);LDelete(nIn);// 输入一个数字,并从线性表中删除LOut();char chTmp;printf(”Please input a char to finish this program.");chTmp = getch();return 0;}void LSort()// 冒泡排序,由大到小{int j,F,k,M;F=nLen;while(F〉0){k=F-1;F=0;for(j=1;j<=k;j++){if(nLinearList[j]〈nLinearList[j+1]){M=nLinearList[j];nLinearList[j]=nLinearList[j+1];nLinearList[j+1]=M;F=j;}}}}void LOut(){printf("\n”);for (int i = 1;i 〈= nLen;i++){printf( "%d, ", nLinearList[i]);}printf(”\n”);}void LInsert(int n){int i,j;i=1;while (i<nLen){ if(nLinearList[i]〈=n){nLen++;for(j=nLen;j>=i;j—-)nLinearList[j+1]=nLinearList[j];nLinearList[i]=n;break;}i++;}}void LDelete(int n){int i,j;for(i=1;i<=nLen;i++){if(nLinearList[i]==n){for(j=i;j〈=(nLen—1);j++)nLinearList[j]=nLinearList[j+1];nLen—-;break;}}}三运行结果实验2:栈与队列的应用一.实验内容a)键盘输入算数表达式,并放入队列当中;b)应用栈的概念设计表达式求值算法;输出表达式求值结果二.源程序// Experiment2。
作业11、 已知长方体的长a=3,宽b=4,计算并输出长方体的的周长与面积。
#include <stdio.h> main() {int a,b,c,s; a=3; b=4;c=(a+b)*2; s=a*b;printf("c = %d, s= %d\n", c, s); getch();}总结:变量先定义,再赋值,然后引用。
2、根据自由落体运动公式:h=221gt 计算物体10秒后下落的距离。
#include <stdio.h> main() {double g,h,t; g=9.8; t=10;h=g*t*t/2;printf(" h= %lf",h); getch();}总结:注意编写算式时的顺序,符号,特殊要求等。
3、编程计算下列分段函数,请调用sqrt(x)函数求平方根(头文件math.h )。
#include <math.h> int main(void) {double x, y;printf("Enter x:\n"); scanf("%lf", &x); if(x <0)y=x*x*x+2*x*x+x+1;elsey=sqrt(x);printf(" %lf\n", y);getch();}总结:注意用相应的头文件。
第2次作业1、编写程序,输入一个正数n,求 #include <stdio.h>int main(void){int i, n;double sum;printf("Enter n:"); scanf("%d", &n);sum = 0;⎪⎩⎪⎨⎧≥<+++=0,0,1223x x x x x x y ∑=ni i 11for (i = 1; i <= n; i++) {sum = sum +1.0/i; }printf("sum=%lf\n",sum); getch(); return 0; }总结:程序中的算式也遵循先乘除后加减的原则. 2、编写程序,输入一个正数n,求的前n 项之和。
实验十 参考答案(指针)三、实验内容( 按要求完善或设计以下程序,并调试分析运行结果)1. 程序填空题 给定程序BLACK10-1.C 中,函数fun 的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。
例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
【解题思路】第一处:t 是通过取模的方式来得到*n 的个位数字,所以应填:10。
第二处:判断是否是奇数,所以应填:0。
第三处:最后通形参n 来返回新数x ,所以应填:x 。
2. 程序改错题 给定程序MODI10-1.C 中函数fun 的功能是: 计算n 的5次方的值(规定n 的值大于2、小于8),通过形参指针传回主函数;并计算该值的个位、十位、百位上数字之和作为函数值返回。
例如,7的5次方是16807, 其低3位数的和值是15。
【解题思路】第一处:变量d 的初始值应为1。
第二处:整除的符号是 /。
3. 程序设计题 请编写函数fun ,它的功能是:求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35。
【解题思路】本题是求出能整除形参x 且不是偶数的各整数,并按从小到大的顺序放在pp 所指的数组中,这些除数的个数通过形参n 返回。
【参考答案】void fun ( int x, int pp[], int *n ){ int i; *n=0;for(i=1; i <= x; i++)if((x % i== 0) && (i % 2)) pp[(*n)++]=i;}4. 程序填空题 给定程序中,函数fun 的功能是:找出N ×N 矩阵中每列元素中的最大值,并按顺序依次存放于形参b 所指的一维数组中。
《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
实验一C语言的运行环境和运行过程
【目的与要求】
1.了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
【上机内容】
1.熟悉调试C程序的的方法与步骤。
2.写出一个C程序的构成。
3.参照例题,编写一个C程序,输出以下信息:
****************************
Hello,World!
****************************
4.编写一个C程序,输入a、b、c三个数,输出其中最大者。
试想,如果求四个数中的最大者,则程序该如何编写。
实验二C语言的基础知识
【目的与要求】
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
3.进一步熟悉C程序的编辑、编译、连接和运行的过程。
【上机内容】
1.要讲“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。
例如,字母“A”后面第5个是“F”,用“F”代替“A”。
因此,“China”应译为“Hmnsf”。
请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使其分别变为’H’、’m’、’n’、’s’、’f’,并输出。
2.求下面算术表达式的值。
(1)x+a%3*(int)(x+y)%2/4 =2.500000
设x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5 3.5
先自己分析,再试着用程序求解,看得到的结果是否一致。
3.写出下面表达式运算后a的值,设原来a=10。
设a和n已定义成整型变量。
(1)a+=a (2)a-=2
(3)a*=2+3 (4)a/=a+a
(5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a
先自己分析,再试着用程序求解,看得到的结果是否一致。
实验三简单的C程序设计
【目的与要求】
1.理解C语言程序的顺序结构
2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。
【上机内容】
1. 已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
2. 输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32).
实验四选择结构程序设计
【目的与要求】
1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);
2.学会正确使用逻辑运算符和逻辑表达式;
3.熟练掌握if语句和switch语句。
【上机内容】
1. c语言如何表示“真”与“假”?系统如何判断一个量的“真”与“假”?
2. 写出下面各逻辑表达式的值。
设a=3,b=4,c=5
(1) a+b>c&&b= =c
(2) a||b+c&&b-c
(3) !(a>b)&&!c||1
(4) !(x=a)&&(y=b)&&0
(5) !(a+b)+c-1&&b+c/2
3. 有3个整数a、b、c,由键盘输入,输出其中最大的数。
4.有一函数: x x<1
y= 2x-1 1=<x<10
3x-11 x>=10
写一程序,输入x, 输出y。
5.给出一百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B, 70~79分为C,60~69分为D,60分以下为E。
6.给一个不多于5位的正整数,要求:
a. 求出它是几位数;
b. 分别打出每一位数字;
c. 按逆序打出各位数字,例如原数为321,应输出123。
7.输入4个整数,要求按由小到大的顺序输出。
实验五循环结构程序设计
【目的与要求】
熟练掌握while、do—while和for三种循环语句的应用。
【上机内容】
1.输入两个正整数m和n,求其最大公约数和最小公倍数。
2.求Sn=a+aa+aaa+…+aa…a 之值,其中a是一个数字。
例如:2+22+222+2222+22222(此时n=5), n由键盘输入。
3.求和1!+2!+3!+4!+…20!
4.打印100-999之间所有的“水仙花数”。
“水仙花数”是一个三位数,其各位数立方和等于该数本身。
5.一个数如果恰好等于它的因子之和,这个数就称为完数。
求1000之内的所有完数。
6.有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前20项之和。
7.用牛顿迭代求方程2x3-4x2+3x-6=0在1.5附近的根。
8.打印下列图案
*
***
*****
***
*
实验六一维数组
【目的与要求】
1.掌握一维数组的定义、赋值和输入输出的方法;
2.掌握字符数组的使用;
3.掌握与数组有关的算法(例如排序算法)。
【上机内容】
1.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。
2.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求改为1,4,5,6,8。
3.有15个数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则打印出“无此数”。
4.编一程序,将两个字符串连接起来,不要用strcat函数。
实验七二维数组
【目的与要求】
1.掌握二维数组的定义、赋值和输入输出的方法;
2.掌握字符数组的使用;
3.掌握与数组有关的算法(例如排序算法)。
【上机内容】
1. 求一个3×3矩阵对角线元素之和。
2. 打印出以下的杨辉三角形(要求打印出10行)。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…… …… ……
3. 有一篇文章,共有3行文字,每行有80个字符。
要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数
实验八函数
【目的与要求】
1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。
2.了解主调函数和被调函数之间的参数传递方式。
【上机内容】
1.上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。
main()
{
int x,y;
printf("%d\n",sum(x+y));
int sum(a,b);
{
int a,b;
return(a+b);
}
}
2.定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。
用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?
3.编写一个对n个数据从大到小的排序C函数,再编写一个计算最后得分的C函数,计算方法是:去除一个最高分,去除一个最低分,其余的平均分为参赛选手的最后得分。
并在主函数中调用它们对有n个评委评分,m个选手参赛的最后得分,从大到小排序输出。
4.编写一个计算n!的函数,用主函数调用它,使之输出7阶杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
杨辉三角形是二项展开式(a+b)n的系数,共有n+1项,n=0,1,…。
杨辉三角形在数学上具有重要的意义,在高中阶段已学过,系数是按照公式:am= ,其中am是展开式中的第m项系数。
5.编写一个程序,包括主函数和如下子函数。
(1) 输入10个无序的整数;
(2) 用起泡方法从大到小排序;
(3) 要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。
分析:input函数完成10个整数的录入。
sort函数完成起泡法排序,search函数完成输入数的查找。
实验九文件
目的与要求】
1.掌握文件和文件指针的概念以及文件的定义方法。
2.了解文件打开和关闭的概念和方法。
3.掌握有关文件的函数。
【上机内容】
1. 有 5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。
2. 将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据存入
一个新文件“stu_sort”中。