浙师大 C语言 实验10函数2+答案

合集下载

第10章C语言程序设计习题答案

第10章C语言程序设计习题答案

C 语言程序设计( Visual C++6.0 环境)》习题答案习题十、思考题1.简述公有类型成员与私有类型成员的区别。

公有(public) 类型成员不但可以被类的成员函数访问,而且可以被外界访问,所以说公有类型定义了类的外部接口。

私有(private) 类型成员只能被类的成员函数访问,外界不能直接访问它。

类的数据成员一般都应该声明为私有成员。

2.简述构造函数与析构函数的作用。

构造函数的作用就是在对象在被创建时利用特定的值构造对象,将对象初始化。

析构函数的作用与构造函数正好相反,它是用来在对象被删除前进行一些清理工作。

析构函数调用之后,对象被撤消了,相应的内存空间也将被释放。

3.简述什么是友元函数。

友元函数是在类定义中由关键字friend 修饰的非成员函数。

友元函数可以是一个普通函数,也可以其它类中的一个成员函数,它不是本类的成员函数,但它可以访问本类的私有成员和保护成员。

4.简述公有继承、私有继承和保护继承三种继承方式的区别。

⑴、当类的继承方式为公有(public 继承)时,基类的公有(public )成员和保护( protected )成员仍然成为派生类的公有成员和保护成员,而基类的私有成员不能被派生类访问。

⑵、当类的继承方式为保护( protected )继承时,基类的公有(public )成员和保护( protected )成员将成为派生类的保护成员,而基类的私有成员不能被派生类访问。

⑶、当类的继承方式为私有(private )继承时,基类的公有(public )成员和保护(protected )成员将成为派生类的私有成员,而基类的私有成员不能被派生类访问。

5.定义一个圆柱体类,其属性为圆柱体的底面半径和高,能计算出圆柱体的体积。

#include<iostream.h>class cylinder{public:cylinder(float r,float h){radius=r;height=h;}float Volume();private:float radius;float height;};float cylinder::Volume(){return 3.14*radius*radius*height;}void main(){float r,h;cout<<" 请输入圆柱体的底面半径和高:"; cin>>r>>h;cylinder x(r,h);cout<<x.Volume()<<endl;}6.从第 5 题中定义的圆柱体类中派生出圆锥类,覆盖计算体积的成员函数。

c语言实验报告(附答案版)

c语言实验报告(附答案版)
二、实验目的
1、熟练掌握while,do—while,for语句实现循环的方法,包括如何正确地设定循环条件,如何控制循环的次数。
2、掌握break语句与continue语句的使用方法。
3、熟悉循环的嵌套以及从循环体内退出循环的处理。
4、理解什么是循环程序结构。
三、实验指导
为了达到最佳的实验效果,以下提供几条适于模块化编程的指导意见,可供参考。
实验1简单判定性问题求解
一、实验学时
完成本实验需4学时。
二、实验目的
1、阅读程序题
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;
(2)掌握不同的类型数据之间赋值的规律;
(3)掌握数据在内存中的存储方式;
(4)学会输入、输出函数的基本格式和使用方法;
(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
1)解题分析:解决问题的关键算法为求圆的面积并按要求输出。循环求圆的面积area,若area<40,则用continue语句提前结束本次循环并开始新一轮循环,若area>90,则用break语句跳出循环。
2)算法流程图如图2-1:
3)综合分析
需要从循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。
(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:
百分制
90-100
80-89
70-79
60-69
<60
等级制





具体要求如下:
1)用switch语句实现该功能;

C语言实验10(附参考答案)

C语言实验10(附参考答案)

实验10:循环结构(1)实验目的:(1)领会程序设计中构成循环的三要素;(2)熟练掌握用while语句实现循环的方法。

(3)熟练掌握用do-while语句实现循环的方法。

实验内容:1、C语言中,while与do-while循环的主要区别是________。

A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句2、设有程序段则下面描述中正确的是()。

A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次3、下述程序段的运行结果是__________。

int a=1,b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,14、下面程序的功能是用do-while语句求1至1000之间满足“用3除余2;用5除余3;用7除余2”的数,且一行只打印五个数。

请填空。

5、下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

(2)A)n:m B)m:n C)m:m D)n:n程序设计题1、(必做题)求出以下表达式的值。

S1=1+1/2+1/3+1/4+……+1/100;S2=1-1/3+1/5-1/7+……-1/99;2、(必做题)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

【程序分析】提示:利用while语句,条件为输入的字符不为'\n'.3、(必做题)求S=10!4、(选做题)从键盘上输入若干正整数,求其中最大数和最小数。

输入的数以0结束【程序分析提示】(1)设第一个读取的数是当前最大数和最小数;(2)若当前读取的整数不为0,则继续循环;(3)若当前读取的数比最大数大,则记录为最大数;比最小数小,则记录为最小数;(4)读取下一个整数。

C语言上机实验1-18

C语言上机实验1-18

实验一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。

浙江大学C语言上机练习参考答案汇总

浙江大学C语言上机练习参考答案汇总
夏 4 周...............................................................................................................................................35 10012 函数程序设计........................................................................................................ 35 10024 计算最长的字符串长度........................................................................................ 36 10025 字符串的连接........................................................................................................ 37 40017 求 2/1+3/2+5/3+8/5+.......................................................................................38 80021 找最大的字符串.................................................................................................... 39 80022 找最长字符串........................................................................................................ 40 80023 使用函数删除字符串中的字符............................................................................ 41 80024 使用函数实现字符串复制.................................................................................... 42 80025 判断回文字符串.................................................................................................... 43 80026 分类统计字符个数................................................................................................ 44

实验十函数应用答案

实验十函数应用答案

实验十函数应用一、实验目的1.掌握函数的定义和调用;2.理解形参和实参的使用和传值调用;3.理解函数声明的使用;4.掌握函数的嵌套调用;5.了解函数的嵌套与递归调用,掌握递归函数的编写规律;6.了解数组元素、数组名作函数参数。

二、实验学时数2学时三、实验步骤(一)阅读程序1.#include <stdio.h>int fun (int x, int y, int z){ z=x * x + y * y;}main(){ int a=38;fun(7,3,a);printf("%d",a);2.#include <stdio.h>void fun (int x,int y );main(){int x=5,y=3;fun(x,y);printf("%d,%d\n",x,y);}void fun (int x,int y ){ x=x+y;y=x-y;x=x-y;printf("%d,%d\n",x,y);3.#include <stdio.h>int f (int a);main(){ int s[ 8 ] = {1,2,3,4,5,6} ,i, d=0;for (i=0; f( s[i] ) ; i++)d+=s[i];printf("%d\n",d);}int f(int a){ return a%2;}4.#include<stdio.h>long f( int g){ switch(g){ case 0:return 0;case 1:case 2: return 1;}return ( f(g-1)+ f(g-2));}main ( ){ long int k;k = f(7);printf("\nk= %d\n",k);}5. #include<stdio.h>int f(int b[ ][4]){ int i,j,s=0;for(j=0;j<4;j++){ i=j;if(i>2) i=3-j;s+=b[i][j];}return s;}main( ){int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};printf("%d\n",f(a) );}(二)要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行或删行,改动程序的结构。1. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。#include <stdio.h>double max(double a,double b);//或者double max(double,double);main(){double x,y;scanf("%lf%lf",&x,&y);printf("%.8lf\n",max(x,y));}double max(double a,double b){return (a>b ? a:b) ;}2.以下函数的功能是:求x的y次方,请填空,并配写出主调函数。

C语言test10答案

C语言test10答案

1.阅读、调试、运行程序,比较阅读的结果和运行的结果1)运行结果2)运行结果3)运行结果4)运行结果5)运行结果6)运行结果7)运行结果2. 完善程序,并调试运行1) (1) p=a; (2) p=p-1;2) (1) *s=*t (2)*s='\0';(3) s(a,b);3) (1) *k=p; (2) &k4) (1) pa+n; (2) *q5) (1) p (2) i (2) return 1 ;6) (1) s (2) *++p3. 修正程序,并调试运行1)(1) int fun(int *a,int *b,int n)(2) 改成*b=c-a;(3) max=fun(a,&p,N);2)(1)char *p1,*p2;(2)while(*p1!='\0')(3)p1= str1+m-1 ;(4)strcopy(str1,str2,m); 3)(1)scanf("%d",p++); (2)max=p;(3)if(max==arr)(4)printf("%3d",*p++);4.编写程序1)#include<stdio.h>void main(){int a[100],n,k,m,*p,s,i; scanf("%d%d%d",&n,&k,&m); for(p=a;p<a+n;p++)*p=1;p=a+k-1;i=0;while(i!=n){s=0;while(s!=m){s=s+*p;p++;if(p==a+n)p=a;}if(p!=a){printf("%4d",p-a);*(p-1)=0;}else{printf("%4d",10);*(p+n-1)=0;}i++;}}2)#include<stdio.h>void con(char *s,char *t) {char *p;p=s;while(*p)p++;while(*t)*p++=*t++;*p='\0';}void main(){char a[80],b[80];gets(a);gets(b);con(a,b);puts(a);}3)#include<stdio.h>void main(){int a[80],b[80],c[80]; int m,n,*pa,*pb,*pc;scanf("%d",&m);for(pa=a;pa<a+m;pa++) scanf("%d",pa);scanf("%d",&n);for(pb=b;pb<b+n;pb++) scanf("%d",pb);pa=a;pb=b;pc=c;while(pa<a+m&&pb<b+n) if(*pa<*pb)*pc++=*pa++;else*pc++=*pb++;while(pa<a+m)*pc++=*pa++;while(pb<b+n)*pc++=*pb++;for(pc=c;pc<c+m+n;pc++) printf("%6d",*pc);printf("\n");}4)#include<stdio.h>void main(){int a[80],b[80],c[80]; int m,n,*pa,*pb,*pc,k; scanf("%d",&m);for(pa=a;pa<a+m;pa++) scanf("%d",pa);scanf("%d",&n);for(pb=b;pb<b+n;pb++) scanf("%d",pb);pa=a;pb=b;pc=c;while(pa<a+m) *pc++=*pa++;k=m;while(pb<b+n){pa=a;while(pa<a+m&&*pb!=*pa) pa++;if(pa==a+m){*pc++=*pb;k++;}pb++;}for(pc=c;pc<c+k;pc++)printf("%6d",*pc);printf("\n");}。

C实验报告答案

C实验报告答案

C程序设计初步一、实验目的(1) 熟悉C语言程序的运行环境(VC++ 。

(2) 掌握C语言程序的上机步骤,了解运行C程序的方法。

(3) 掌握C语言程序的书写格式和C语言程序的结构。

二、实验内容(均要求给出运行结果)1.程序改错题(1) 以下程序实现计算x×y的值并将结果输出。

请改正程序中的错误。

#include ""void main()/**********FOUND**********/{ int x=y=4;z=x*y;/**********FOUND**********/printf("z=%d/n", Z);}答案:=======(答案1)=======int x=,4,y=4,z;=======(答案2)=======printf("z=%d\n", z);(2) 以下程序实现输入圆的半径,求圆的周长。

请改正程序中的错误。

#include ""void main(){ int r;float l;printf("Enter r:");scanf("%d", &r);/**********FOUND**********/l=2πr/**********FOUND**********/printf("l=%d\n",l);}答案:=======(答案1)=======l=2**r;=======(答案2)=======printf("l=%f\n", l);2.程序填空题(1) 下面程序能对两个整型变量的值进行交换,请填空。

#include ""void main(){ int a=3,b=4,t;t=a;/***********SPACE***********/【】;/***********SPACE***********/【】;printf("a=%d,b=%d\n",a,b);}答案:=======(答案1)=======a=b=======(答案2)=======b=t(2) 下面程序不用第三个变量,实现两个数的对调操作。

C语言实验答案(2-6)

C语言实验答案(2-6)
实验二 1.验证性实验 (1) 程序运行结果
x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109
(2)程序运行结果
输入:
1,2 3,4 5,6 7,6 a,b
运行一: 1 0,1,0,0
运行二: 2 0,0,1,1
运行三: 3 0,0,0,1
运行四: 4 1,0,0,0
运行五: 5 1,0,0,0
输入不同数据以后,a,b,c,d 的结果不一样,分析其原因主要在于:输入值不同, switch 语句进入的 case 分支不同;当分支语句中未出现 break 时 switch 语句会继 续继续进入下一 case 分支分支执行,直到遇到 break 或最后。
实验三
一、验证性试验 15M5.55
b=25,y=2.6,c2=N a= 15,b=25 x=5.550000,y=2.600000 c1=M,c2=N 在 scanf("%d%c%f",&a,&c1,&x);的输入中,由于输入字符型数据时空格会作为 有效输入字符处理,所以空格不能作为数据输入的分隔符,在输入 a 的值后,接 下来输入的应是一个字符型,若之间用空格则此空格将被视为一个字符,但若是 先输字符再输一个数,其间就可以用空格。 二、程序填空: ①a/b ②a%b ③quot,resi 三、程序改错: scanf("%f %f ",&x,&y) 改为 scanf("%d%d",&x,&y); printf("%d+%d=%d",x+y) 改为 printf("%d+%d=%d",x,y,x+y) ; (2) getchar(x) 改为 x=getchar() y=x-32 改为 y=x+32 四、设计性试:

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。

通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。

1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。

在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。

本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。

2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。

请假,必须提前出具正式假条,不接受事后假条。

如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。

本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。

第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。

C语言课后题答案

C语言课后题答案

C语言c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 31-1 填空题 31-2 思考题 31-3 编程题 3习题2 42-1 单选题 42-2 思考题 4习题3 53-1 选择题 53-2 填空题 53-3 编程题 5习题4 74-1单选题74-2填空题74-3 编程题7习题5 105-1单选题105-2填空题105-3 编程题10习题6 136-1单选题136-2填空题136-3 编程题13习题7 157-1单选题157-2填空题157-3 编程题15习题8 168-1单选题168-2填空题168-3 编程题16习题9 189-1单选题189-2填空题189-3 编程题18习题10 2210-1单选题2210-2填空题2210-3 编程题22习题11 2411-1单选题2411-2填空题24习题12 2512-1单选题2512-2 填空题25实验篇26实验1 熟悉Visual C++6.0可视化集成开发环境26实验2 顺序结构程序设计26实验3 选择结构程序设计26实验4 循环结构程序设计26实验5 函数28实验6 数组32实验7 指针33实验8 结构体和共用体35实验9 文件36实验10 综合编程36模拟试卷(一)参考答案37模拟试卷(二)参考答案38习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数首部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

其基本结构包括顺序结构、选择结构和循环结构三种。

2. 算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3. 语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

C语言实验题及参考答案

C语言实验题及参考答案

实验一1、计算整数各位数字之和(10 分)输入一个3位正整数,将其每一位的数字相加,输出和。

输入格式:输入一个3位正整数。

变量数据类型为unsigned。

输出格式:输出整数每一位相加后的整数和。

输入样例:输出样例:【参考答案】#include ""int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。

变量数据类型为double。

π为。

输出格式:输出y的值,精确到小数点后2位。

输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x);y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。

注意:当输入的数字含有结尾的0时,输出不应带有前导的0。

比如输入700,输出应该是7。

输入格式:每个测试是一个3位的正整数。

输出格式:输出按位逆序的数。

输入样例:输出样例:【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值(10 分)本题要求编写程序,计算4个整数的和与平均值。

浙江大学C程序设计 答案二

浙江大学C程序设计 答案二

浙江大学C程序设计答案二20021程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat 次下列运算:输入x,计算并输出下列分段函数f(x) 的值(保留1位小数)。

当x 不等于0时,y = f(x) = 1/x,当x 等于0时,y = f(x) = 0。

输入输出示例:括号内是说明输入2 (repeat=2)10 (x=10)0 (x=0)输出f(10.00) = 0.1f(0.00) = 0.0#include <stdio.h>int main(void){int repeat, ri;double x, y;scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){scanf("%lf", &x);/*---------*/if(x!=0) y=1/x;else y=0;printf("f(%.2f) = %.1f\n", x, y);}}20022程序填空,不要改变与输入输出有关的语句。

输入华氏温度,输出对应的摄氏温度。

计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。

输入输出示例:括号内为说明输入150 (fahr=150)输出celsius = 65#include <stdio.h>int main(void){int celsius, fahr;/*---------*/scanf(“%d”,&fahr);celsius=5.0*(fahr-32)/9;printf("celsius = %d\n", celsius);}20023程序填空,不要改变与输入输出有关的语句。

输入存款金额money、存期year 和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

c语言 大学 第10章习题答案

c语言 大学 第10章习题答案
fclose(fp);
}
A.读文件中的字符B.统计文件中的字符数并输出C.打开文件D.关闭文件
B.用“R”方式也可以打开文件
C.用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在
D.用“a”方式可以打开不存在的文件
4.fscanf函数的正确调用形式是____D_____
A. fscanf(fp,格式字符串,输出表列)
B. fscanf(格式字符串,输出表列,fp);
C. fscanf(格式字符串,文件指针,输出表列);
D. fscanf(文件指针,格式字符串,输入表列);
5.函数调用语句:fseek(fp,-20L,2);的含义是____C____
A.将文件位置指针移到距离文件头20个字节处
B.将文件位置指针从当前位置向后移动20个字节
C.将文件位置指针从文件末尾处后退20个字节
D.将文件位置指针移到离当前位置20个字节处
第10章习题答案
1.系统的标准输入文件是指____A____
A.键盘B.显示器C.软盘D.硬盘
2.若执行fopen函数时发生错误,则函C. 1 D. EOF
3、在C中,下面对文件的叙述正确的是___C_____
A.用“r”方式打开的文件只能向文件写数据
fp1指向的文件中,正确的语句是____C____
A. for(i=0;i<80;i++) fputc(a[i],fp1);
B. for(i=0;i<10;i++) fputc(&a[i],fp1);
C.for(i=0;i<10;i++) fwrite(&a[i],8,1,fp1);

c程序设计教程与实验课后实验答案

c程序设计教程与实验课后实验答案

c程序设计教程与实验课后实验答案【篇一:c程序设计教程与实验__吉顺如__实验一到七】> 一、实验目的1.掌握在visual c++6.0环境下c程序的建立、编辑、编译和执行过程。

2.掌握c程序的最基本框架结构,完成简单程序的编制与运行和调试。

3.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

二、实验内容1.从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。

输入该c程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。

#include stdio.h main() {int a,b,sum; /*定义整型变量a、b、sum */ printf(please input a,b \n); /*输出提示信息*/(1计算x*y的值并将结果输出。

试纠正程序中存在的错误,以实现其功能。

程序以文件名sy1_2.c保存。

#include stdio.hmainmain(){ int x=2;y=3;a int x=2,y=3,a; a=x*ya=x*y;print (a=%d,a);printf (a=%d,a); printf(\n);}(2)下程序的功能为:求两数中的较大数据并输出。

纠正程序中存在的错误,以实现其功能。

程序以文件名sy1_3.c保存。

#include stdio.h1viod main()voidmain() {int a ,b , max;scanf(“%d,%d”,a,b);scanf(“%d,%d”,a,b); max=a; max=a;if (maxb) max=b; if (maxb) max=b; printf(“max=%d”,ma x);printf(“max=%d”,max); }3.程序填空题(1)从键盘输入两个整数,输出这两个整数的和。

根据注释信息填写完整程序,以实现其功能。

以文件名sy1_4.c保存。

#includestdio.h main() {/* 定义整型变量x,y,total*/ printf(please input x,y !);/*输出提示信息 *//*由键盘输入两个数分别赋予x和y*/ total=x+y;/*赋值语句 */printf(%d + %d=%d\n,x,y,total);/* 输出两个整数的和 */ }(2)从键盘输入两个整数,输出这两个整数的差。

浙江师范大学2010C期末考试卷B卷及答案

浙江师范大学2010C期末考试卷B卷及答案

浙江师范大学《计算机基础— C语言程序设计》考试B卷(2009----2010学年第 2 学期)考试形式笔试(闭卷)使用学生全校09级理科(非行知)专业考试时间120 分钟出卷时间 2010 年 6 月 6 日【说明】(1)考生应将全部答案都写在答题纸上,否则作无效处理。

(2)试题1~7为单项选择题;试题8、9为程序设计题。

试题1 程序填空(每小题2分,共8分)【程序说明】输入一个整数,求它的各位数字之和及位数,例如:17的各位数字之和是8,位数是2。

运行示例:Enter an integer:-153Sum=8,count=3【程序】#include<stdio.h>void main(){int count=0,in,sum=0;printf(“Enter an integer:”);scanf(“%d”,&in);if( (1) )in=-in;do{sum=sum+ (2) ;(3) ;count++;}while( (4) );printf(“sum=%d,count=%d\n”,sum,count);}【供选择的答案】(1)A.in==0 B.in>0 C.in!=0 D.in<0(2)A.in/10 B.in mod 10 C.in%10 D.in(3)A.in=in%10 B.in/10 C.in=in/10 D.in%10(4)A.in%10!=0 B.in!=10 C.!in D.in/10!=0试题2 程序填空(每小题2分,共8分)【程序说明】输入1 个正整数 n, 计算并输出 s 的前n项的和。

s = 1/2 -2/3 + 3/4 - 4/5 + ……(-1)n-1n/(n+1)【程序】#include <stdio.h>void main( ){ int k, n, flag;double s=0;(5) ;scanf("%d", &n);for (k=1 ; k<=n; k++){s=s+ (6) ;(7) ;}printf("sum= (8) \n", s);}【供选择的答案】(5) A、flag= -1 B、s= -s C、flag= 1 D、s=flag(6) A、1.0*k/(k+1)* flag B、flag*n/(n+1) C、- k/(k+1) D、1.0*k/(k+1)(7) A、flag= -1 B、s= -s C、flag= -flag D、k= -k(8) A、%d B、%f C、%ld D、%lf试题3 程序填空(每小题2分,共8分)【程序说明】输入6个整数,找出其中最小的数,将它和最后一个数交换,然后输出这6个数。

C语言实验指导与习题参考答案(含运行界面)(完全版本)

C语言实验指导与习题参考答案(含运行界面)(完全版本)
?代码必须符合语法规则标识符一般用小写字母大小写敏感?尽量不把多条语句写在程序的同一行上?适当地可使川空行和空格增强程序的可读性?常川缩进书写格式使得程序结构清晰?增加相应的输入输出提示信息增强程序运行的友好性?函数体内采用分层缩进和模块化的书写方式增强代码的可维护性一个c语言应用程序上机过程一般要经过哪几个步骤
习题参考答案以及附录
2010 年 3 月 28 日
程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案


3.1 C 语言初步 ............................................................................................................................................ 1 1.选择题 ............................................................................................................................................... 1 2.填空题 ............................................................................................................................................... 1 3.简答题 ........................................................................................................

C语言实验报告参考答案(原)

C语言实验报告参考答案(原)
问题4改printf("%c,%c,%d\n",a,b,c);这条语句
改成:printf("\’%c\’\’%c\’%d\n",a,b,c);
问题5把scanf("%c%c%d",&a,&b,&c);和printf("%c,%c,%d\n",a,b,c);
改成scanf("%c%*c%c%*c%d",&a,&b,&c);
#include<math.h>
int count(int x)
{
int sum,i;
sum =0;//记住因子的个数
for(i=1;i<=x/2;i++)
if(x%i == 0)
sum +=1;
return sum+1;
}
int main(void)
{
int i,y;
for(i=1;i<=100;i++)
#include<stdio.h>
#include<math.h>
int prime(int m)
{
int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)return 1;
return 0;
}
main()
{
int i,k;
k=0;
for(i=3;i<=5000;i++)
if(prime(i)==1){k++;printf("%d is a prime muber \n",i);}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号姓名
一.目的要求
1.掌握函数声明、定义和调用的基本方法
2.掌握用递归函数解决问题的方法。
3.掌握局部变量与全局变量的作用域区别
4.掌握数组作为函数参数的基本方法。
二.实验内容
【实验题1】
分析如下:
Line 2中的变量k是_全局_变量;而Line 10中的k是__局部_变量。程序输出结果是k=1,k=1,k=1。
要求用函数调用的形式ቤተ መጻሕፍቲ ባይዱ提示:
主函数的功能:输入字符串,输入字符,调用count()函数统计次数,输出结果。
count()函数功能:统计出次数,将结果返会主函数。
【实验题4】程序填空:定义递归函数reverse(n),功能是实现对一个整数逆序输出,如输入整数153,则输出351.
算法分析:(1)递归函数reverse(int n)的基本思想:首先直接输出整数n的最低位(n%10),然后检查去除该最低位之后,n是否还存在高数位,若有,则对去除最低位的剩余部分(n/10)用递归函数reverse()予以输出;
【实验题2】程序填空:输入一个整数n (1≤n≤10),再输入n个整数,将它们按升序排列后输出。
程序分析_选择法:
(1)由于n最大是10,需要定义一个长度为10的整型数组a;
(2)整个排序只需要确定前n-1个元素(a[0]~a[n-2]),最后一个元素a[n-1]无需另外处理;
(3)在确定a[i](i=0,1,…,n-2)时,先将a[i]本身看成最小,即令k=i,并将a[k]与后面的元素a[j](j=i+1, i+2,…, n-1)一一比较,
(2)主函数main()负责:输入整数n;若n为负数,取相反数;调用reverse().
运行程序,并输入:12345,则输出:5 4 3 2 1
【实验题5】编程题:输入3个学生的4门课成绩,调用score函数计算得到个人最高总分,最后在主函数中输出个人最高总分
【算法分析】用一个二维数组s[3][4]存放学生成绩,一行对应一个学生,一列对应一门课程。
[思考题]程序填空:
将上述的程序用函数调用的方式去实现。定义一个sort()函数来实现数组的排序;
在main()函数中调用sort()函数来实现数组的排序,并将结果输出。
【编程题3】:输入一个以回车结束的字符串(有效长度少于80),再输入一个字符,统计其在字符串中出现的次数。
如:输入asdabc再输入a答案为2
如果a[j]< a[k],则更新k的值:k =j。找出对应于下标i的最小元素a[k]后,交换a[i]与a[k]。
(4)上述排序算法的代码:
运行程序,输入n:5,输入5个整数:23 -9 14 0 -3,显示结果为:
如果是按从大到小的降序排列,语句行Line 13应改为:if(a[k]> a[j])k=j;
如果将第10行改为“static int k=1;”,该k是_局部静态_变量,程序输出结果是k=1,k=2,k=1。
如果将第10行改为“k=1;”,该k是_全局//Line 2__变量,程序输出结果是k=1,k=1,k=2。
如果将第10行改为空语句“;”后,此时Fun中的k是_全局//Line 2_变量,程序输出结果是k=1,k=2,k=3。
相关文档
最新文档