浙大c语言程序习题答案

合集下载

C语言程序设计 浙江科学技术版习题参考答案--习题9

C语言程序设计 浙江科学技术版习题参考答案--习题9

习题参考答案 习题九1. 选择题(1) A D ( 在定义函数时不指定函数类型,若函数体中有返回语句return <表达式>, 则系统默认该函数为int 型;若函数体中无return 语句或return 之后无表达式,则系统默认该函数为void 型)(2) D (函数fun 的参数是按值引用的方式,在fun 中对形参c 赋值,即 c=a+b=2+3=5,但不会影响main 中的实参c 。

在main 中,c 无初值,调用函数fun 之后c 不改变,因此它的值无法确定)(3) A (if(n)相当于if(n!=0), 而f(n)是递归函数,其定义为(1),0()0,0f n n n f n n -+>⎧=⎨=⎩) (4) B (展开宏MA ,并用实参i 和i+1分别代替宏中的形参x,y, 得i=(i*i+1)-7= (5*5+1)-7=19 )2. /*指出下列函数定义中的错误*/(1)double sum( double x, y ) ------double sum(double x, double y)(注: 即使形参的类型相同,也必须各自说明)(2) 函数体内漏了关于变量h 的定义: int h;(注:i. 在函数中,除了定义在函数首部的形参之外,其他需要使用的变量必须遵循“先定义、后引用”的原则 ii. 由于本题中函数f 未指定函数类型,而函数体内有return h 语句,故系统把它默认为int 型,即返回值应该是int 型,所以变量h 作为被返回值,应定义为与函数类型一致的int 型。

--假如题目给定的fun 的类型是double 型,则应定义h 为double 型。

)3. /*填空题*/(1) 2分析: 变量x 是定义在函数f 中的局部变量;变量k 是定义在f 中的静态局部变量。

i= f( f(1) ),两次调用f(2) 5分析: 函数f(x)中出现了递归调用,语句是return ( (x>0)? f(x-1)+f(x-2):1 ); 该函数为1,0()(1)(-20x f x f x f x x ≤⎧=⎨-+>⎩),,即可改写: int f(int x){ int r;if(x<=0) r=1;else r=f(x-1)+f(x-2);return r;}故i=f(3) =f(2)+f(1) =[f(1)+f(0)]+[f(0)+f(-1)] ={[f(0)+f(-1)]+f(0)}+[f(0)+f(-1)] =1+1+1+1+1=5(3) 程序段Aint f(int n){ if(n<=1) return n;else return f(n-1)+f(n-2);}分析:函数f(n)中出现了递归调用,语句是return f(n-1)+f(n-2); 该函数为,1 ()(1)(-21n nf nf n f n n≤⎧=⎨-+>⎩),。

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言程序设计理论考试模拟试题答案

浙江大学C语言理论考试模拟试题答案一、判断题共10题,每题1分,共10分。

正确的请选择A,错误的请选择B。

1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。

AA、正确B、错误解答:A2、在程序中else 子句可以单独使用。

BA、正确B、错误解答:B3、C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。

( ) AA、正确B、错误解答:A4、_ya是不合法的C语言标识符。

BA、正确B、错误解答:B5、在数组初始化时,如果初值个数多于数组长度,将出现错误。

AA、正确B、错误解答:A6、C语言规定,函数返回值的类型是由return语句中的表达式类型所决定。

BA、正确B、错误解答:B7、若有定义int *p, 则表达式p++ 的值就是p 所指向的变量的地址值加1。

BA、正确B、错误解答:B8、'\n'不是一个字符常量。

BA、正确B、错误解答:B9、表达式(z=0, (x=2)||(z=1),z) 的值是1。

BA、正确B、错误解答:B10、若打开文件的方式为“w”而该文件已经存在,则文件中原有数据被清空。

A、正确B、错误二、单选题请从给定的选项中选择一个唯一正确的选项。

每小题2分,共10题,20分。

1、 C下面有关变量的命名,不合法的是:( )A. _intB. __intintC. __int&intD. ___intintintC解答:C2、有变量定义int a;float c;下面输入语句有语法错误的是( )。

A. scanf("%d,%f", &a, &c);B. scanf("x=%d, c=%f", &a, &c);C. scanf("%d%f", &a, &c);D. scanf("%f %d",&a, &c);D解答:D3、下面关于函数参数使用的说法,不正确的是:()A. 函数调用时实参按顺序传递到形参;B. 函数调用时实参把值传递给形参;C. 函数的实参和形参个数可以不一致,但使用时应尽量一致;D. 函数的实参和形参可以同名;C解答:C4、已知int k=1; for(k=1;1;k++) if(k) break; for语句的循环次数是( )。

浙大c期末考试题及答案

浙大c期末考试题及答案

浙大c期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. C语言中,哪个关键字用于声明一个整型变量?A. intB. floatC. doubleD. char答案:A3. 以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello, World!";B. string str = "Hello, World!";C. char* str = "Hello, World!";D. string str[] = "Hello, World!";答案:A4. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. +C. *D. /答案:C5. 以下哪个选项是C语言中合法的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B6. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. square_root()C. root()D. pow()答案:A7. 以下哪个选项是C语言中正确的函数声明?A. int add(int a, int b);B. int add(a, b);C. int add(int a, b);D. int add(a, int b);答案:A8. 在C语言中,哪个关键字用于创建一个循环,直到满足某个条件?B. whileC. do-whileD. foreach答案:B9. 以下哪个选项是C语言中合法的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用____关键字可以定义一个宏。

2022年浙大宁波理工学院公共课《C语言》科目期末试卷B(有答案)

2022年浙大宁波理工学院公共课《C语言》科目期末试卷B(有答案)

2022年浙大宁波理工学院公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。

_______2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、结构化程序由________、________ 、________ 3种基本结构组成。

4、C语言中的标识符可分为关键字、_______和_______3类。

5、C语言中的标识符只能由3种字符组成,它们是_______、_______和_______6、请读程序段:int a=1,b=2;if(a&b)printf("***\n");else printf("$$ $\n");以上程序段的输出结果是_______。

7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}8、设有宏定义如下:#define MIN(x,y)(x)>(y)?(x):(y)#define T(x,y,r)x*r*y/4则执行以下语句后,s1的值为_______,s2的值为_______。

int a=1,b=3,c=5,s1,s2;s1=MIN(a=b,b-a);s2=T(a++,a*++b,a+b+c);9、字符串"ab\n\\012\\\"”的长度是_______。

10、以下程序段通过移动指针变量m,给如图9-7所示连续动态存储单元赋值。

请填空。

(假设程序段中的所有变量均已正确说明。

)for(k=0;k<10;k++,m++)scanf("%d",_______);二、选择题11、下面4个选项中,是合法浮点数的选项是。

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

浙江大学C程序设计答案二共30页
#include <math.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=sqrt(x);
else y=pow((x+1),2)+2*x+1/x;
要练说,得练听。听是说的前提,听得准确,才有条件正确模仿,才能不断地掌握高一级水平的语言。我在教学中,注意听说结合,训练幼儿听的能力,课堂上,我特别重视教师的语言,我对幼儿说话,注意声音清楚,高低起伏,抑扬有致,富有吸引力,这样能引起幼儿的注意。当我发现有的幼儿不专心听别人发言时,就随时表扬那些静听的幼儿,或是让他重复别人说过的内容,抓住教育时机,要求他们专心听,用心记。平时我还通过各种趣味活动,培养幼儿边听边记,边听边想,边听边说的能力,如听词对词,听词句说意思,听句子辩正误,听故事讲述故事,听谜语猜谜底,听智力故事,动脑筋,出主意,听儿歌上句,接儿歌下句等,这样幼儿学得生动活泼,轻松愉快,既训练了听的能力,强化了记忆,又发展了思维,为说打下了基础。当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.1
f(0.00) = 0.0
#include <stdio.h>
int main(void)

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷

浙江大学“程序设计基础-C”试题卷一.单项选择题(每题2分,共20分)1.C语言程序的三种基本结构是顺序结构、选择结构和______结构。

A.递归B.转移C.循环D.嵌套2.下列运算符中,优先级最高的是_____。

A.->B.++C.&&D.=3.表达式!(x>0&&y>0)等价于_____。

A.!(x>0)||!(y>0)B.!x>0||!y>0C.!x>0&&!y >0D.!(x>0)&&!(y>0)4.表达式sizeof("\nsum=%d\n")的值是______。

A.8B.9C.10D.115.以下选项中不正确的实型常量是_____。

A.0.23EB.2.3e-1C.1E3.2D.2.3e06.表达式______的值不是1。

A.0?0:1B.5%4C.!EOFD.!NULL7.数组定义为inta[11][11],则数组a有_____个数组元素。

A.12B.144C.100D.1218.对于以下的变量定义,表达式______是不正确的。

structnode{intj,k;}x,*p=&x;A.p->k=2B.(*p).k=2C.x.k=2D.x->k=2 9.不正确的赋值或赋初值的方式是______。

A.charstr[]="string";B.charstr[10];str="stri ng";C.char*p="string";D.char*p;p="string";10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量______。

#include<stdio.h>intz;intp(intx){staticinty;return(x+y);}voidmain(){inta,b;printf("%d\n",p(a));……}A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z二、填空题(每题2分,共30分)1.设字符型变量ch的值是小写英文字母,将它转换为相应大写字母的表达式是______。

浙江大学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

浙工大C语言课本习题答案

浙工大C语言课本习题答案

C程序设计习题参考答案习题一 (2)习题二 (3)习题三 (5)习题四 (8)习题五 (14)习题六 (17)习题七 (20)习题八 (26)习题九 (33)习题十 (35)习题十一 (36)习题一1. 填空题⑴计算机程序设计语言按其发展可分为三类,即机器语言、汇编语言和高级语言。

⑵ C程序是由函数构成的,一个C程序中至少包含 1个main函数。

因此,函数是C程序的基本单位。

⑶ C程序注释是由 /* 和 */ 所界定的文字信息组成的。

⑷函数体一般包括函数首行和函数体。

⑸在任何C程序中都必须且只能有一个主函数, 主函数名必须为 main 。

2. 判断下列各个叙述的正确与否⑴ C程序的执行总是从该程序的main函数开始,在main函数最后结束【√】⑵ C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运行不起任何作用,但可以增加程序的可读性【√】⑶由“/*”与“*/”界定的注释必须在同一行【╳】⑷通过了编译、连接的程序就是正确的程序【╳】⑸有计算结果输出的程序一定是正确的程序【╳】⑹编译错误是语法错误,运行结果错误是逻辑错误【√】⑺编译时在信息窗口出现包含“error”的信息,说明程序存在警告性错误【╳】⑻源程序每次修改后,都必须重新编译、连接【√】3. 简答题⑴算法的含义、特点是什么?解答:算法是解题方法的精确描述。

有穷性、确定性、有多或零个输入、有1或多个输出、有效性。

⑵写出一个C程序的基本结构。

由编译预处理命令、注释、1个main和若干个自定义函数构成,函数格式如下:函数类型函数名(类型标识符形参,类型标识符形参,...){ 类型声明语句; 执行语句部分; }⑶写出在你使用的计算机系统上,进入C环境以及运行、调试程序的简要步骤。

⑷输入x后计算其正弦值的源程序如下。

编译信息是否表示有致命性错误?应如何修改?解答:致命性错误为第6行函数sin未声明,应加入编译预处理命令 #include <math.h>4. 编程题⑴请上机调试、运行本章课本上C语言程序例题4~6(注释部分可以不必输)⑵仿照例6编程,输入两个变量后,输出其中较大的值。

浙大c程题库答案

浙大c程题库答案

浙大c程题库答案20011求华氏温度100°F对应的摄氏温度。

220012求华氏温度150°F对应的摄氏温度。

320013求摄氏温度26°C对应的华氏温度。

320015当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。

320026输入2个整数num1和num2,计算并输出它们的和、差、积、商与余数。

4第3周(M3)520031求1+2+3+......+100(调试示例error02_5)520032求m+(m+1)+(m+2)+......+100520033求1/m+1/(m+1)+1/(m+2)+......+1/n620034求1+1/3+1/5+......的前n项和720035求1-1/4+1/7-1/10+……的前n项之和720036输出华氏-摄氏温度转换表(改错题error02_6)820038求某的n次幂920041生成3的乘方表1020044求100^0.5+101^0.5+……+1000^0.51020053计算物体自由下落的距离1120056计算分段函数1120061阶梯电价1220062求m某m+1/m+(m+1)某(m+1)+1/(m+1)+(m+2)某(m+2)+1/(m+2)+......+n某n+1/n1320063求1-2/3+3/5-4/7+5/9-6/11+ (14)20064求2^1+2^2+2^3+……+2^n15第4周(M4)1510007显示图案(复习printf()的字符串输出)1520042生成阶乘表1620043使用函数求n!/(m!某(n-m)!)1620054求平均值1720057求1+1/2+1/3+......+1/n1820065求0!+1!+2!+……+n!1840015求最小值1940018求a+aa+aaa+aa…a20第5周(M5)2130001求一元二次方程的根2130002求分段函数的值2330003分类统计字符2330004显示五级记分制成绩所对应的百分制成绩区间(使用witch)24 30005显示水果的价格(使用witch)2530007求三角形的面积和周长2730008计算个人所得税2830051判断闰年2930052统计学生平均成绩与及格人数3030053分段计算水费(使用嵌套的if-ele语句)31浙大c程序语言设计(第2版)题库答案40011求最小公倍数和最大公约数(调试示例error04_1)32 40012求1-1/4+1/7-1/10+1/13-1/16+ (33)40014求整数的位数3440023换硬币3540024找出各位数字的立方和等于它本身的数3640025找完数(改错题error04_2)3840027从高位开始逐位输出一个整数的各位数字(选作)39 40052判断素数4040053逆序输出整数4140054输出斐波那契序列42第7周(M7)4250002使用函数判断数的符号4250003使用函数求奇数和4350005使用函数统计素数并求和4450006使用函数统计一个整数中数字的个数4550007使用函数找水仙花数4650009使用函数求余弦函数的近似值4850052使用函数找最大值4950062使用函数输出指定范围内的Fibonacci数50 50063使用函数找出指定范围内的完数51第8周(M8)5240013求奇数和5240062求某+某某某/2!+某某某某某/3!+某某某某某某某/4!+……的值5350004使用函数计算两点间的距离5450061使用函数求a+aa+aaa+aa…a5560002整数的十进制、八进制和十六进制表现形式5660003分类统计字符5760006验证歌德巴赫猜想5860007使用函数输出整数的逆序数5960009统计单词6060062简单计算器61第2周(M2)20011求华氏温度100°F对应的摄氏温度。

2022年浙江大学公共课《C语言》科目期末试卷B(有答案)

2022年浙江大学公共课《C语言》科目期末试卷B(有答案)

2022年浙江大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。

struct s{char data;_______}node;2、C语言源程序的基本单位是________3、在C语言源程序中,一个变量代表【】。

4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。

5、把以下多项式写成只含7次乘法运算,其余皆为加、减运算的C语言表达式为_______。

5x7+3x6-4x5+2x1+x3-6x2+x+106、设x为无符号整数。

表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。

请按表达式的求值顺序写出分解步骤,并解释含义。

__________________________________7、下面add函数的功能是求两个参数的和,并将和值返回调用函数。

函数中错误的部分是_______,改正后为_______。

void add(float a,float b){float c;c=a+b;return c;}8、下面程序段将输出computer。

请填空。

char c[]="It is a computer";for(i=0;_______;i++){_______;printf("%c",c[j]);}9、下面程序段的运行结果是_______。

int i=5;char c[6]="abcd";do{c[i]=c[i-1];}while(--i>0);puts(c);10、若有以下定义和语句,则在程序中可通过指针pt,用*(pt[i]+j)等4种形式引用数组元素x[i][],另3种形式分别是:_______、_______和_______。

C语言程序设计 浙江科学技术版习题参考答案--习题7

C语言程序设计 浙江科学技术版习题参考答案--习题7

习题参考答案习题七1.选择题(1)A(g=p=&ch, 指针p是int型,不能指向字符变量ch),D(g=p,指针类型不同,不能互相赋值)(2)B(取地址运算&的后面只能跟变量,而x+1不是变量)(3) C(4)D(即输出m,n, m=m+n, m=m+n, 要注意的是,书中给出的答案中D是先输出m,n的初值,再输出m 更改后的值;但在VC中并不正确,实际运行结果是5 2 3 5,即先计算整个逗号表达式,即m增加两次,然后再输出m,n,m,m的值)(5)D(6)A(对指针直接赋用整数代表的绝对地址,在整数之前要加(指针类型*),即p=(int*) 0xfff )(7)D (相当于*&x就是x, 故D相当于p2=x)(8)B(p=&*&n~ p=&n√ ,但n=(*&)m×,因为单目运算符&*不能用()括起来,否则无操作数)2./*写程序段的输出结果*/(1)9,20,30(注意在调用函数change时,实参a是传地址&a, 在函数中对形参a的改动就相当于对实参a的改动,即a减1:10—>9;而实参b是传值,因此在函数change中对b增1,但回到主函数后,实参b的值不受其影响,仍保持为20;而main()中的c和change()中的c是不同的两个变量,在change中c的任何修改与main中的c无关。

) (2)Max=4,4,3(本题采用传值的方式Max(a,b) ,因此Max中对调形参a,b对实参x,y无影响)(3)Max=4, 3, 4(本题采用传地址的方式Max(&a,&b) ,因此Max中对调形参a,b所指变量的值,相当于对调实参x,y)(4)Max=4, 4, 3(本题采用传地址的方式Max(&a,&b) ,但Max中只是对调了形参指针a,b所指的变量,即令a指向y, b指向x, 但变量x,y的值未进行对调)(5)0012FF7C,7,5,15,12450680012FF7C(十六进制形式的绝对地址,对应的格式说明为”%p”,转成十进制等于1245052)——p ~&x: 变量x的地址;7——*p+2~x+2: 5+25——**&p~*(*&p)~*p~x :515——3**p~3*(*p)~3*x: 3*51245068——p+4,已知p=0x12ff7c=1245052, p是整型指针,每个整型变量占4个字节,p+4代表增加4个整型变量所占的空间4×4=16Bytes,故p+4=1245052+4*4=12450683./*内存变化图”。

PTA浙大版《C语言程序设计(第4版)》题目集(参考代码)

PTA浙大版《C语言程序设计(第4版)》题目集(参考代码)

PTA浙⼤版《C语⾔程序设计(第4版)》题⽬集(参考代码) 更新中......《编程题》练习2-1练习2-3练习2-4练习2-6练习2-8练习2-9练习2-10练习2-11练习2-12练习2-13练习2-14练习2-15练习2-17练习2-18习题2-1习题2-2习题2-3习题2-4习题2-5习题2-6练习3-2练习3-3练习3-4练习3-5练习3-7练习3-8习题3-1习题3-2习题3-3习题3-4习题3-5练习4-3练习4-6练习4-6练习4-7练习4-10练习4-11习题4-1习题4-2习题4-3习题4-4习题4-5习题4-6习题4-7习题4-8习题4-9习题4-10习题4-11练习6-3习题6-7习题6-8练习7-2练习7-3练习7-4练习7-7练习7-8练习7-9练习7-10练习7-11习题7-1习题7-2习题7-3判断上三⾓矩阵习题7-4求矩阵各⾏元素之和习题7-5找鞍点习题7-6统计⼤写辅⾳字母习题7-7字符串替换习题7-8字符串转换成⼗进制整数习题8-7字符串排序习题8-10输出学⽣成绩习题9-1时间换算习题9-3平⾯向量加法习题9-4查找书籍习题9-5通讯录排序《函数题》练习5-1练习5-2练习5-3习题5-1习题5-2习题5-3习题5-4习题5-5习题5-6习题5-7使⽤函数求余弦函数的近似值习题5-8空⼼的数字⾦字塔习题6-1分类统计字符个数习题6-2使⽤函数求特殊a串数列和习题6-3使⽤函数输出指定范围内的完数习题6-4使⽤函数输出指定范围内的Fibonacci数习题6-5使⽤函数验证哥德巴赫猜想习题6-6使⽤函数输出⼀个整数的逆序数练习8-2计算两数的和与差练习8-8移动字母习题8-1拆分实数的整数与⼩数部分习题8-2习题8-3数组循环右移习题8-4报数习题8-5使⽤函数实现字符串部分复制习题8-6删除字符习题8-8判断回⽂字符串习题8-9分类统计各类字符个数习题9-2计算两个复数之积习题9-6按等级统计学⽣成绩练习10-1使⽤递归函数计算1到n之和习题10-1判断满⾜条件的三位数习题10-2递归求阶乘和习题10-3递归实现指数函数习题10-4递归求简单交错幂级数的部分和习题10-5递归计算Ackermenn函数习题10-6递归求Fabonacci数列习题10-7⼗进制转换⼆进制习题10-8递归实现顺序输出整数习题10-11有序表的增删改查操作练习11-4字符定位(最后⼀次找到的字符)习题11-1输出⽉份英⽂名习题11-2查找星期习题11-3计算最长的字符串长度习题11-4字符串的连接习题11-5指定位置输出字符串习题11-6查找⼦串习题11-7奇数值结点链表习题11-8单链表结点删除。

浙大版《C语言程序设计(第3版)》题目集习题3-2高速公路超速处罚(15分)

浙大版《C语言程序设计(第3版)》题目集习题3-2高速公路超速处罚(15分)

浙⼤版《C语⾔程序设计(第3版)》题⽬集习题3-2⾼速公路超速处罚(15分)习题3-2 ⾼速公路超速处罚(15 分)按照规定,在⾼速公路上⾏使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。

请编写程序根据车速和限速⾃动判别对该机动车的处理。

输⼊格式:输⼊在⼀⾏中给出2个正整数,分别对应车速和限速,其间以空格分隔。

输出格式:在⼀⾏中输出处理意见:若属于正常⾏驶,则输出“OK”;若应处罚款,则输出“Exceed x%. Ticket 200”;若应吊销驾驶证,则输出“Exceed x%. License Revoked”。

其中x是超速的百分⽐,精确到整数。

输⼊样例1:65 60输出样例1:OK输⼊样例2:110 100输出样例2:Exceed 10%. Ticket 200输⼊样例3:200 120输出样例3:Exceed 67%. License Revoked思路:分类讨论计算罚款。

(注意百分号输出要⽤两个百分号%%)代码如下:#include<stdio.h>int main (){int a, b, d, e;double c;scanf("%d%d",&a,&b);c=(a-b)/(float)b*100;d=1.5*b;e=1.1*b;if(a<e)printf("OK");else if(a>=e&&a<d){printf("Exceed %.0lf",c);printf("%%. Ticket 200");}else{printf("Exceed %.0lf",c);printf("%%. License Revoked");}return 0;}。

PTA浙大版《C语言程序设计》编程题,练习2-1到习题2-6答案

PTA浙大版《C语言程序设计》编程题,练习2-1到习题2-6答案

PTA浙⼤版《C语⾔程序设计》编程题,练习2-1到习题2-6答案个⼈建议初学者还是把格式规范起来,⾃⼰读起来既⽅便⼜美观PTA对结果的格式要求很严格,答题的时候注意题⽬要求练习2-1 Programming in C is fun! (5 分)本题要求编写程序,输出⼀个短句“Programming in C is fun!”。

输⼊格式:本题⽬没有输⼊。

输出格式:在⼀⾏中输出短句“Programming in C is fun!”。

#include<stdio.h>//调⽤库int main(void){printf("Programming in C is fun!");//stdio.h库中的输出函数return0;//程序结束}练习2-3 输出倒三⾓图案 (5 分)本题要求编写程序,输出指定的由“*”组成的倒三⾓图案。

输⼊格式:本题⽬没有输⼊。

输出格式:按照下列格式输出由“*”组成的倒三⾓图案。

#include<stdio.h>int main(void){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *");return0;}练习2-4 温度转换 (5 分)本题要求编写程序,计算华⽒温度150°F对应的摄⽒温度。

计算公式:C=5×(F−32)/9,式中:C表⽰摄⽒温度,F表⽰华⽒温度,输出数据要求为整型。

输⼊格式:本题⽬没有输⼊。

输出格式:按照下列格式输出fahr = 150, celsius = 计算所得摄⽒温度的整数值#include<stdio.h>int main(){int fahr=150,celsius;//定义变量celsius=5*(fahr-32)/9;//赋值运算//这⾥要注意空格,少⼀个空格提交答案都会出错printf("fahr = 150, celsius = %d",celsius);//按题⽬要求输出return0;}练习2-6 计算物体⾃由下落的距离 (5 分)⼀个物体从100⽶的⾼空⾃由落下。

浙大c语言程序习题答案

浙大c语言程序习题答案

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=*0.1;bonus2=bonus1+*0.75;bonus4=bonus2+*0.5;bonus6=bonus4+*0.3;bonus10=bonus6+*0.15;if(i<=)bonus=i*0.1;else if(i<=)bonus=bonus1+(i-)*0.075;else if(i<=)bonus=bonus2+(i-)*0.05;else if(i<=)bonus=bonus4+(i-)*0.03;else if(i<=)bonus=bonus6+(i-)*0.015;elsebonus=bonus10+(i-)*0.01;printf("bonus=%d",bonus);}-----------------------------------------------------------------------------【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。

注意定义时需把奖金定义成长整型。

2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}-----------------------------------------------------------------------------【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。

请看具体分析:2.程序源代码:#include "math.h"main(){long int i,x,y,z;for (i=1;i<100000;i++){ x=sqrt(i+100); /*x为加上100后开方后的结果*/y=sqrt(i+268); /*y为再加上168后开方后的结果*/if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/printf("\n%ld\n",i);}}-----------------------------------------------------------------------------【程序4】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/{case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf("It is the %dth day.",sum);}-----------------------------------------------------------------------------【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y 的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x 最小。

2.程序源代码:main(){int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/printf("small to big: %d %d %d\n",x,y,z);}-----------------------------------------------------------------------------【程序6】题目:用*号输出字母C的图案。

1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

2.程序源代码:#include "stdio.h"main(){printf("Hello C-world!\n");printf(" ****\n");printf(" *\n");printf(" * \n");printf(" ****\n");}-----------------------------------------------------------------------------【程序7】题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!1.程序分析:字符共有256个。

不同字符,图形不一样。

2.程序源代码:#include "stdio.h"main(){char a=176,b=219;printf("%c%c%c%c%c\n",b,a,a,a,b);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",a,a,b,a,a);printf("%c%c%c%c%c\n",a,b,a,b,a);printf("%c%c%c%c%c\n",b,a,a,a,b);}-----------------------------------------------------------------------------【程序8】题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

2.程序源代码:#include "stdio.h"main(){int i,j,result;printf("\n");for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}-----------------------------------------------------------------------------【程序9】题目:要求输出国际象棋棋盘。

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

2.程序源代码:#include "stdio.h"main(){int i,j;for(i=0;i<8;i++){for(j=0;j<8;j++)if((i+j)%2==0)printf("%c%c",219,219);elseprintf(" ");printf("\n");}}-----------------------------------------------------------------------------【程序10】题目:打印楼梯,同时在楼梯上方打印两个笑脸。

1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

相关文档
最新文档