
浙大版《C语言程序设计实验与习题指导(第3版)》题目集
Kristian w
这个作者很懒,什么都没留下…
展开
-
实验7-3-6 字符串转换成十进制整数
**实验7-3-6 字符串转换成十进制整数**输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出。如果在第一个十六进制字符之前存在字符“-”,则代表该数是负数。输入格式:输入在一行中给出一个以#结束的非空字符串。输出格式:在一行中输出转换后的十进制数。题目保证输出在长整型范围内。输入样...原创 2020-04-18 00:33:45 · 2308 阅读 · 1 评论 -
实验8-2-10 IP地址转换
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入格式:输入在一行中给出32位二进制字符串。输出格式:在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。输入样例:11001100100101000001010101110010输出样例:204.14...原创 2020-04-21 11:22:22 · 873 阅读 · 1 评论 -
实验9-5 查找书籍 (20分)
给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和定价。输入格式:输入第一行给出正整数n(<10),随后给出n本书的信息。每本书在一行中给出书名,即长度不超过30的字符串,随后一行中给出正实数价格。题目保证没有同样价格的书。输出格式:在一行中按照“价格, 书名”的格式先后输出价格最高和最低的书。价格保留2位小数。输入样例:3Programming...原创 2020-04-23 13:46:30 · 1280 阅读 · 3 评论 -
实验9-10 平面向量加法 (15分)
本题要求编写程序,计算两个二维平面向量的和向量。输入格式:输入在一行中按照“x1 y1 x2 y2 ”的格式给出两个二维平面向量v1 =(x1 ,y1 )和v2 =(x2 ,y2 )的分量。输出格式:在一行中按照(x, y)的格式输出和向量,坐标输出小数点后一位(注意不能输出−0.0)...原创 2020-04-23 23:01:02 · 913 阅读 · 0 评论 -
实验2-1-1 计算摄氏温度 (5分)
实验2-1-1 计算摄氏温度 (5分)本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。输入格式:本题目没有输入。输出格式:按照下列格式输出fahr = 100, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){ int f=100; int c=5.0*(f-32)/9; printf("fahr =原创 2020-06-27 09:23:30 · 365 阅读 · 0 评论 -
实验2-1-2 温度转换 (5分)
实验2-1-2 温度转换 (5分)本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。输入格式:本题目没有输入。输出格式:按照下列格式输出fahr = 150, celsius = 计算所得摄氏温度的整数值#include<stdio.h>int main(){ int f=150; int c=5.0*(f-32)/9; printf("fahr = %d原创 2020-06-27 09:25:16 · 934 阅读 · 0 评论 -
实验2-1-3 计算物体自由下落的距离 (5分)
实验2-1-2 温度转换 (5分)一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2 。输入格式:本题目没有输入。输出格式:按照下列格式输出height = 垂直距离值结果保留2位小数。#define g 10#include<stdio.h>int main(){ int t=3; double h; h=0.5*g*t*t; printf("height = %.2f\n",h)原创 2020-06-27 09:26:39 · 304 阅读 · 0 评论 -
实验2-1-4 计算平均分 (5分)
实验2-1-4 计算平均分 (5分)已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。输入格式:本题无输入输出格式:按照下列格式输出结果:math = 87, eng = 72, comp = 93, average = 计算所得的平均成绩#include<stdio.h>int main(){ int math=87,eng=72,comp=93; double average=(math+en原创 2020-06-27 09:28:35 · 252 阅读 · 0 评论 -
实验2-1-5 将x的平方赋值给y (5分)
实验2-1-5 将x的平方赋值给y (5分)假设x的值为3,计算x的平方并赋值给y,分别以“y = x ∗ x”和“x ∗ x = y”的形式输出x和y的值。输入格式:本题无输入输出格式:按照下列格式输出代入x=3的结果:y = x * xx * x = y#include<stdio.h>int main(){ int x=3,y; y=x*x; printf("%d = %d * %d\n",y,x,x); printf("%d * %d原创 2020-06-27 09:30:47 · 438 阅读 · 0 评论 -
实验2-1-6 计算华氏温度 (5分)
本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。输入格式:本题目没有输入。输出格式:按照下列格式输出celsius = 26, fahr = 对应的华氏温度整数值#include<stdio.h>int main(){ int c=26; int f=9.0*c/5+32; printf("celsius = %d, fahr = %d\n",c,f);原创 2020-06-27 09:34:34 · 506 阅读 · 0 评论 -
实验2-1-7 整数152的各位数字 (10分)
本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。输入格式:本题无输入。输出格式:按照以下格式输出:152 = 个位数字 + 十位数字10 + 百位数字100#include<stdio.h>int main(){ int a,b,c,num=152; a=num%10; b=num/10%10; c=num/100; printf("%d = %d + %d*10 + %d*100\n",num,a,b,c);原创 2020-06-27 09:38:07 · 1131 阅读 · 0 评论 -
实验2-2-1 计算分段函数[1] (10分)
本题目要求计算下列分段函数f(x)的值:公式输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10输出样例1:f(10.0) = 0.1输入样例2:0输出样例2:f(0.0) = 0.0#include<stdio.h>int main(){ double x,y; scanf("%lf",&x); if(x==0) y=0; el原创 2020-06-27 09:42:20 · 2263 阅读 · 0 评论 -
实验2-2-2 计算摄氏温度 (10分)
给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出一个华氏温度。输出格式:在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。输入样例:150输出样例:Celsius = 65#include<stdio.h>int main(){ int c,f; scanf("%d",&f); c=5*(f-32)/9;原创 2020-06-27 09:45:02 · 1190 阅读 · 0 评论 -
实验2-2-3 计算存款利息 (10分)
本题目要求计算存款利息,计算公式为interest=money×(1+rate)year −money,其中interest为存款到期时的利息(税前),money,存款金额,year是存期,rate是年利率。输入格式:输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。输入样例:1000 3 0.025输出样例:interest = 76.89#include<stdio.h原创 2020-06-27 09:55:18 · 2944 阅读 · 0 评论 -
实验2-2-4 计算分段函数[2] (10分)
本题目要求计算下列分段函数f(x)的值:f(x)=sqrt(x) x>=0,f(x)=(x+1)(x+1)+2x+1/x x<0注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。输入样例1:10输出样例1:f(10.00) = 3.16输入样例2:-0.5输出样例2:f(-0.50) = -2.原创 2020-06-27 10:01:02 · 435 阅读 · 0 评论 -
实验2-2-5 求整数均值 (10分)
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。输入格式:输入在一行中给出4个整数,其间以空格分隔。输出格式:在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。输入样例:1 2 3 4输出样例:Sum = 10; Average = 2.5#include<stdio.h>int main(){ int num,sum=0; double average;原创 2020-06-27 10:05:51 · 493 阅读 · 0 评论 -
实验2-2-6 计算分段函数[3] (10分)
本题目要求计算下列分段函数f(x)的值:y=f(x)=x x!=10,y=f(x)=1/x,x==10输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10输出样例1:f(10.0) = 0.1输入样例2:234输出样例2:f(234.0) = 234.0#include<stdio.h>int main(){ double x,y; scanf("%lf原创 2020-06-27 10:09:04 · 3027 阅读 · 0 评论 -
实验2-2-7 整数四则运算 (10分)
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。输入格式:输入在一行中给出2个正整数A和B。输出格式:在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。输入样例:3 2输出样例:3 + 2 = 53 - 2 = 13 * 2 = 63 / 2 = 1#include<stdio.h>int main(){ int a,b; scanf("%d %d",&a,&b); pri原创 2020-06-27 10:13:59 · 1280 阅读 · 0 评论 -
实验2-2-8 阶梯电价 (15分)
为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。输入格式:输入在一行中给出某用户的月用电量(单位:千瓦时)。输出格式:在一行中输出该用户应支付的电费(元),结果保留两位小数,格式如:“cost = 应付电费值”;若用电量小于0,则输出"Invalid Value!"。输入样例1:10输出样例1:原创 2020-06-27 10:23:16 · 537 阅读 · 0 评论 -
实验2-2-9 计算火车运行时间 (15分)
本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间。输入格式:输入在一行中给出2个4位正整数,其间以空格分隔,分别表示火车的出发时间和到达时间。每个时间的格式为2位小时数(00-23)和2位分钟数(00-59),假设出发和到达在同一天内。输出格式:在一行输出该旅途所用的时间,格式为“hh:mm”,其中hh为2位小时数、mm为2位分钟数。输入样例:1201 1530输出样例:03:29#include<stdio.h>int main(){ int原创 2020-06-27 10:36:47 · 1950 阅读 · 0 评论 -
实验2-3-1 求1到100的和 (10分)
本题要求编写程序,计算表达式 1 + 2 + 3 + … + 100 的值。输入格式:本题无输入。输出格式:按照以下格式输出:sum = 累加和#include<stdio.h>int main(){ int sum=0; for(int i=1;i<=100;i++){ sum+=i; } printf("sum = %d\n",sum); return 0; } ...原创 2020-06-28 18:50:39 · 918 阅读 · 0 评论 -
实验2-3-2 求N分之一序列前N项和 (15分)
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + … 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:6输出样例:sum = 2.450000#include<stdio.h>int main(){ int n; double sum=0; scanf("%d",&n); for(int i=1;i<=n;i+原创 2020-06-28 18:53:02 · 355 阅读 · 0 评论 -
实验2-3-3 求奇数分之一序列前N项和 (15分)
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + … 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23输出样例:sum = 2.549541#include<stdio.h>int main(){ int n; double sum=0; scanf("%d",&n); for(int i=1;i<=n;i原创 2020-06-28 18:55:39 · 446 阅读 · 2 评论 -
实验2-3-4 求简单交错序列前N项和 (15分)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + … 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 0.819#include<stdio.h>int main(){ int n,item=1,flag=1; double sum=0; scanf("%d",&n); for原创 2020-06-28 18:59:40 · 1547 阅读 · 0 评论 -
实验2-3-5 输出华氏-摄氏温度转换表 (15分)
输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。输入格式:在一行中输入2个整数,分别表示lower和upper的值,中间用空格分开。输出格式:第一行输出:“fahr celsius”接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。若输原创 2020-06-28 19:09:43 · 599 阅读 · 0 评论 -
实验2-3-6 求交错序列前N项和 (15分)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。输入样例:5输出样例:0.917#include<stdio.h>int main(){ int n,flag=1; double item,sum=0; scanf("%d",&n); for(int i=1;i<=n;i++){ item=1.0*i/((2.原创 2020-06-28 19:16:51 · 542 阅读 · 0 评论 -
实验2-3-7 求平方与倒数序列的部分和 (15分)
本题要求对两个正整数m和n(m≤n)编写程序,计算序列和m2 +1/m+(m+1)2 +1/(m+1)+⋯+n2 +1/n。输入格式:输入在一行中给出两个正整数m和n(m≤n),其间以空格分开。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例:5 10输出样例:sum = 355.845635#include<stdio.h>int main(){ int m,n;原创 2020-06-28 19:21:45 · 418 阅读 · 0 评论 -
实验2-4-2 生成3的乘方表 (15分)
输入一个非负整数n,生成一张3的乘方表,输出30 ~3n 的值。可调用幂函数计算3的乘方。输入格式:输入在一行中给出一个非负整数n。输出格式:按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。输入样例:3输出样例:pow(3,0) = 1pow(3,1) = 3pow(3,2) = 9pow(3,3) = 27#include<stdio.h>#include<math.h原创 2020-06-28 19:40:33 · 1389 阅读 · 0 评论 -
实验2-4-3 求平方根序列前N项和 (15分)
本题要求编写程序,计算平方根序列√1+√2+√3 +⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。输入样例:10输出样例:sum = 22.47#include<stdio.h>#include<math.h>int fpow(int x,int n);int main(){原创 2020-06-28 19:47:26 · 460 阅读 · 0 评论 -
实验2-4-4 求阶乘序列前N项和 (15分)
本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5输出样例:153#include<stdio.h>int fact(int n);int main(){ int n,sum=0; scanf("%d",&n); for(int i=1;i<=n;i++){ sum+=fact(i); } printf("%d\n",sum); re原创 2020-06-28 19:55:23 · 2935 阅读 · 0 评论 -
实验2-4-6 求幂之和 (15分)
本题要求编写程序,计算sum=pow(2,1)+pow(2,2)+…+pow(2,n) 可以调用pow函数求幂。输入格式:输入在一行中给出正整数n(≤10)。输出格式:按照格式“result = 计算结果”输出。输入样例:5输出样例:result = 62#include<stdio.h>int fpow(int x,int n);int main(){ int n,sum=0; scanf("%d",&n); for(int i=1;i<=n;原创 2020-06-28 20:18:51 · 1248 阅读 · 2 评论 -
实验2-4-7 求组合数 (15分)
本题要求编写程序,根据公式Cmn=n!/(m!*(n−m)!)算出从n个不同元素中取出m个元素(m≤n)的组合数。建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。输入格式:输入在一行中给出两个正整数m和n(m≤n),以空格分隔。输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。输入样例:2 7输出样例:result = 21#include<stdio.h>double fact(i原创 2020-06-28 20:29:54 · 1254 阅读 · 0 评论 -
实验3-1 求一元二次方程的根 (20分)
本题目要求一元二次方程的根,结果保留2位小数。输入格式:输入在一行中给出3个浮点系数a、b、c,中间用空格分开。输出格式:根据系数情况,输出不同结果:1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;3)如果方程只有一个根,则直接输出此根;4)如果系数都为0,则输出"Zero Equation";5)如果a和b为0,c不为0,则输出"Not An Equation"。原创 2020-06-29 21:16:00 · 5402 阅读 · 4 评论 -
实验3-2 计算符号函数的值 (10分)
对于任一整数n,符号函数sign(n)的定义如下:sign(n) = -1,0,1(n<0,n==0,n>0)请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例1:10输出样例1:sign(10) = 1输入样例2:0输出样例2:sign(0) = 0输入样例3:-98输出样例3:sign(-98) = -1#include<stdio.h原创 2020-06-29 21:20:24 · 381 阅读 · 0 评论 -
实验3-3 比较大小 (10分)
本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8输出样例:2->4->8#include<stdio.h>void swap(int *a,int *b);int main(){ int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>b) swap(&原创 2020-06-29 21:31:20 · 957 阅读 · 0 评论 -
实验3-4 统计字符 (15分)
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。输入格式:输入为10个字符。最后一个回车表示输入结束,不算在内。输出格式:在一行内按照letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数的格式输出。输入样例:aZ &09 Az输出样例:letter = 4, blank = 3, digit = 2, other = 1#include<stdio.h&原创 2020-06-29 23:44:15 · 437 阅读 · 0 评论 -
实验3-5 查询水果价格 (15分)
给定四种水果,分别是苹果(apple)、梨(pear)、桔子(orange)、葡萄(grape),单价分别对应为3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。首先在屏幕上显示以下菜单:[1] apple[2] pear[3] orange[4] grape[0] exit用户可以输入编号1~4查询对应水果的单价。当连续查询次数超过5次时,程序应自动退出查询;不到5次而用户输入0即退出;输入其他编号,显示价格为0。输入格式:输入在一行中给出用户连续输入的若干个编号原创 2020-06-29 23:55:06 · 1227 阅读 · 0 评论 -
实验3-6 计算个人所得税 (10分)
假设个人所得税为:税率×(工资−1600)。请编写程序计算应缴的所得税,其中税率定义为:当工资不超过1600时,税率为0;当工资在区间(1600, 2500]时,税率为5%;当工资在区间(2500, 3500]时,税率为10%;当工资在区间(3500, 4500]时,税率为15%;当工资超过4500时,税率为20%。输入格式:输入在一行中给出非负工资。输出格式:在一行输出个人所得税,精确到小数点后2位。输入样例1:1600输出样例1:0.00输入样例2:1601输出样例2:原创 2020-06-30 00:05:54 · 3047 阅读 · 0 评论 -
实验3-7 统计学生成绩 (15分)
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样例:777 54 92 73 60 65原创 2020-06-30 00:13:59 · 1652 阅读 · 0 评论 -
实验3-8 输出三角形面积和周长 (15分)
本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:area=√s(s−a)(s−b)(s−c),其中s=(a+b+c)/2。输入格式:输入为3个正整数,分别代表三角形的3条边a、b、c。输出格式:如果输入的边能构成一个三角形,则在一行内,按照area = 面积; perimeter = 周长的格式输出,保留两位小数。否则,输出These sides do not correspond to a val原创 2020-06-30 15:03:28 · 1022 阅读 · 0 评论