第十四次c语言作业

第十四次c语言作业
第十四次c语言作业

习题14-1、

题码:章节:考查点:难度:2

根据要求编写程序P801.C的指定部分:

程序P801.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。

程序的功能是:有五个学生,每个学生的数据包括学号、姓名(最长19字节)、三门课的成绩,从键盘输入五个学生的数据,并计算每个学生的平均成绩,最后显示最高平均分的学生的信息(包括学号,姓名,三门课的成绩,平均分数)。

程序的运行效果应类似地如图1所示,图1中的:

2001 wanghai 78 83.5 90

2003 zhangzhong 82 80 98.5

2005 liumei 95.2 81 90

2006 sunqian 70 77.2 90

2009 jiansansa 63 87 90.3

是从键盘输入的内容。

图1 程序运行效果示例

习题14-2、

题码:1章节:考查点:难度:2

根据要求编写程序P763.C的指定部分:

程序P763.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。

程序的功能是:有五个学生,每个学生的数据包括学号、姓名(最长19字节)、三门课的成绩,从键盘输入五个学生的数据,并计算每个学生的平均成绩,最后显示最高平均分的学生的信息(包括学号,姓名,三门课的成绩,平均分数)。要求用结构体编程,变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf("Please input students info:Num Name score1 score2 score3\n")...。

程序的运行效果应类似地如图1所示,图1中的:

2001 wanghai 78 83.5 90

2003 zhangzhong 82 80 98.5

2005 liumei 95.2 81 90

2006 sunqian 70 77.2 90

2009 jiansansa 63 87 90.3

是从键盘输入的内容。

图1 程序运行效果示例

习题14-3、

题码:章节:考查点:难度:2

根据要求编写程序P807.C的指定部分:

程序P807.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中

程序的功能是:有五个学生,每个学生的数据包括学号、姓名(最长19字节)、三门课的成绩,从键盘输入五个学生的数据,并计算每个学生的平均成绩,最后显示最高平均分的学生的信息(包括学号,姓名,三门课的成绩,平均分数)。

程序的运行效果应类似地如图1所示,图1中的:

2001 wanghai 78 83.5 90

2003 zhangzhong 82 80 98.5

2005 liumei 95.2 81 90

2006 sunqian 70 77.2 90

2009 jiansansa 63 87 90.3

是从键盘输入的内容。

图1 程序运行效果示例

请完成类似题p782.c

习题14-4

题码:章节:考查点:结构体数组的正确使用难度:2

根据要求编写程序P783.C的指定部分:

程序P783.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。

程序的功能是:某班有4个学生,三门课,通过main函数读入学生的学号(5位数字)、姓(最长7个字符)和三门课的成绩,然后通过调用用户自定义函数DispScore实现这些信息的输出,调用用户自定义函数FindNoPass实现找出有两门以上不及格的学生、输出其学号和不及格课程的成绩。要求用结构体编程。编程可用素材:printf("\nStudent Info and Score:\n")、printf("%6s %8s"…、printf("%5d"…、printf("\nTwo Course No Pass Students:\n")。

程序的运行效果应类似地如图1所示,图1中的:

00001 zhang 55 67 77

00032 li 64 44 55

30013 zhou 78 90 88

20706 peng 45 55 36

是从键盘输入的内容。

图1 程序运行效果示例

习题14-5(*)——选做

题码:章节:考查点:结构体数组指针难度:2

根据要求编写程序P790.C的指定部分:

程序P790.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中

程序的功能是:从键盘上读入5个学生的姓名(char(10))、学号(char(10))和成绩(int),要求成绩必须在0~100之间,否则重新读入该学生信息。最后输出不及格学生的学号、名字和分数。要求用指针完成函数中结构体数组参数的传递以及各个数组元素的访问,访问结构体成员时使用->形式。编程可用素材:printf("input name number score:\n")、

printf("student %d: "…、printf(" error score! input again!\n")、printf("%s/%s,%d "…。

程序的运行效果应类似地如图1所示,图1中的aa 11 77、bb 02 55、cc 13 33、ee 36 110、ee 36 10、dd 25 88是从键盘输入的内容。

图1 程序运行效果示例

习题14-6、

题码:章节:数组考查点:格式输入和输出,二维数组的循环、算法的设计(结构体)难度:3 编写一程序P415.C实现以下功能

设有10名歌手(编号为1-10)参加歌咏比赛,另有6名评委打分,每位歌手的得分从键盘输入:先提示“Please input singer's score: ”,再依次输入第1个歌手的6位评委打分(10分制,分数为整型,分数之间使用空格分隔),第2个歌手的6位评委打分...以此类推。计算出每位歌手的最终得分(扣除一个最高分和一个最低分后的平均分,最终得分保留2位小数),最后按最终得分由高到低的顺序输出每位歌手的编号及最终得分。

注意:变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf ("Please input singer's score: ")...、printf("\nscores:\n")...、printf("No....:...。

程序的运行效果应类似地如图1所示,其中的1 4 7 3 6 3

4 6 8 3

5 8

7 3 6 8 4 2

7 4 7 4 6 4

4 5 6 7 2 5

3 5 7 8 9 3

7 4 4 7 3 8

9 4 3 7 3 6

4 8 3 7 2 8

5 1

6

7

8 7

是从键盘输入的内容。

图1 程序运行效果示例

习题14-7、

题码:1章节:考查点:难度:3

根据要求编写程序P765.C的指定部分:

程序P765.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。

程序的功能是:有五个学生,每个学生的数据包括学号、姓名(最长19字节)、三门课的成绩,从键盘输入五个学生的数据,计算每个学生的平均成绩并按平均成绩由高到低排序,并将排序结果显示。要求用结构体编程,变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf("Please input info of students:No Name Math English Computer\n")...。

程序的运行效果应类似地如图1所示,图1中的:

2001 wanghai 78 83 90

2003 zhangzhong 82 80 98

2005 liumei 95 81 90

2006 sunqian 70 77 90

2009 jiansansa 63 87 90

是从键盘输入的内容。

图1 程序运行效果示例

第六次作业

习题九 一、选择题 9-1.C语言程序由函数组成。它的。 A.主函数必须在其它函数之前,函数内可以嵌套定义函数 B.主函数可以在其它函数之后,函数内不可以嵌套定义函数 C.主函数必须在其它函数之前,函数内不可以嵌套定义函数 D.主函数必须在其它函数之后,函数内可以嵌套定义函数 9-2.一个C语言程序的基本组成单位是。 A.主程序B.子程序C.函数D.过程 9-3.以下说法中正确的是。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 9-4.已知函数abc的定义为: void abc ( ) { ....... } ?则函数定义中void的含义是。 A.执行函数abc后,函数没有返回值B.执行函数abc后,函数不再返回??C.执行函数abc后,可以返回任意类型D.以上三个答案全是错误的 9-5.在以下对C语言的描述中,正确的是。 A.在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参B.C语言函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C语言程序中有调用关系的所有函数都必须放在同一源程序文件中 9-6.以下叙述中错误的是。 A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值 B.在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容 C.在C语言中,外部变量的隐含类别是自动存储类别 D.在C语言中,函数形参的存储类型是自动(auto)类型的变量 9-7.说明语句"static int i=10;"中"i=10"的含义是。 A.只说明了一个静态变量B.与"auto i=10;"在功能上等价 C.将变量i初始化为10 D.将变量i赋值为10 9-8.C语言中的函数。

C语言第七、八章补充作业-答案

第七章数组补充作业 【1】在C语言中,引用数组元素时,其数组下标的数据类型允许是 C 。 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 【2】以下对一维整型数组a的正确说明是 D 。 A)int a(10); B)int n=10,a[n]; C)int n; D)#define SIZE 10 scanf(“%d”,&n); int a[SIZE]; int a[n]; 【3】若有说明:int a[10];则对a数组元素的正确引用是 D 。 A)a[10] B)a[] C)a(5) D)a[10-10] 【4】以下能对一维数组a进行正确初始化的语句是 C 。 A)int a[10]=(0,0,0,0,0); B)int a[10]={}; C)int a[]={0}; D)int a[10]={10*1}; 【5】以下对二维数组a的正确说明是 B 。 A)int a[3][]; B)double a[1][4]; C)float a(3,4); D)float a(3)(4); 【6】若有说明:int a[3][4];则对a数组元素的正确引用是 D 。 A)a[2][4] B)a[1,3] C)a(2)(1) D)a[1+1][0] 【7】以下不能对二维数组a进行正确初始化的语句是 C 。 A) int a[2][3]={0}; B) int a[][3]={{1,2},{0}}; C) int a[2][3]={{1,2},{3,4},{5,6}}; D) int a[][3]={1,2,3,4,5,6}; 【8】指出下面各说明语句中哪些是合法的:(多选) A. int abcd[0x80]; B. char 9ab[10]; C. char chi[-200]; D. int aaa[5]={3,4,5}; E. float key[]={,,1,0}; F. char disk[]; G. int n,floppy[n]; H. int cash[4]={1,2,3,4,5,6}; 答案: ADE 【9】下面程序中有错误的行是 D (每行程序前面的数字表示行号)。 1 main()

C语言实训作业1

《C语言通识教育》实训指导书 (第一次) (2学时) 何天成 2016年月日

前言 C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。因此,C 语言正在被迅速地推广和普及。上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。本指导书可增强同学上机实验的针对性。整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。 本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。共计约14次实训课,其中每一讲内容分1、2两次上课。每个实验内容结构如下: (1)实验学时 (2)实验目的 (2)预习要求 (4)实验内容 (5)实验注意事项 (6)思考题 其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。 在实验之前,要求学生对实验作好预习工作。在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。一般要求准备好相关代码,实验课中最好以调试和讨论为主。 实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy 别人的运行结果。通报告具体内容可根据实验内容和实验要求进行增删。实验报告一般要求包含:(1)实验题目 (2)设计思路或算法分析 (3)流程图 (4)程序源代码 (5)程序运行结果及分析

c语言作业

提交作业规范: (1)你的每次作业的cpp文件放在文件夹中,文件夹命名:学号+姓名+(第几次),(例如:“2014218899张三(第二次)“) (2)上传到文件夹:偶春生\班级。千万别传错。 注意: (1)每做完一题,请用“file”下的“close workspace”关闭工作区,再重新开始做下一题。(2)如果不能联网,请改网关地址:252或253 (3)开机进入“basis” 第一次上机题目: (1)从键盘上输入四个整数,计算并输出四个数的平均值。 (2)输入球的半径,计算并输出球的体积和表面积。 (3)输入一个三位正整数,分别输出该数的个位、十位和百位。(提示:用%运算符提取数字,如123%10=3,用/运算符移除已提取的数字,如123/10 = 12) (4)请测试++、--、关系和逻辑运算符。 第二次上机题目: (1)平面上有一园C:(x-3)2+(y-4)2= 25;输入点P(x,y)的坐标值,判断P点在园C内(包括园上)还是园C外。 (2)输入一英文字符,如果是大写字符,请输出:“您输入的是大写字符。”,如果是小写字符,请输出:“您输入的是小写字符。”, (3)某人某天开始“三天打鱼,两天晒网”,问该人在以后的第n天是打鱼还是晒网?(4)输入火车的出发时间和到站时间,计算火车的运行时间。(出发时间和到站时间用四位整数表示,如1230表示12点30分,假设火车不跨天运行。) (5)从键盘上输入三个整数,分别存放在变量num1, num2, num3中,编写程序对这三个数进行排序,使得num1 <=num2<=num3。 第三次上机题目: (1)输入十个数,分别计算出其中正数、负数的和。 (2)输出1—100内能被3整除或个位数是3的数。 (3)打印出大写英文字母,每行最多输出十个。 (4)输入十个数,求出其中的最小值。 (5)求出e的值,e = 1+1+1/2!+1/3!+…+1/n! (n取10) 第四次上机题目: (1)输出100—1000之间的质数。 (2)任意输入一个数,输出这个数的所有因子。(如输入12,输出1,2,3,4,6,12) (3)输出1-100间的同构数,所谓同构数是指一个数出现在这个数平方的右侧(如6和25均为同构数)。 (4)求x2+y2=2009的整数解。(提示,x,y的范围在[1,45]之间,用双重循环枚举求解)(5)用嵌套循环打印如下图形:

第六次c语言作业

第六次课作业 下次课默写交换排序、选择排序和冒泡排序。 习题6-1 题码:章节:数组考查点:一维数组的定义、引用及格式输出难度:2 编写一程序p717.C实现以下功能 输入10个整型数存入一维数组,输出值和下标都为奇数(数组第1个元素的下标为0)的元素及其个数。编程可用素材:printf("Input 10 integers.\n")...、printf("count=...\n"...、 printf("a[...]=...\n"...。 程序的运行效果应类似地如图1所示,图1中的2 45 34 56 78 12 41 55 86 37是从键盘输入的内容。 图1 程序运行效果示例 习题6-2 题码:章节:数组考查点:一维数组定义、输入和输出的掌握,对递推算法的掌握难度:2 编写一程序p725.C实现以下功能 利用数组,求斐波拉契数列的前n(n的范围为:3~20)项,并输出到屏幕上(数和数之间用字符'\t'隔开),斐波拉契公式:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2) (n≥3)。编程可用素材:printf("input a data(3--20): ")...。 程序的运行效果应类似地如图1所示,图1中的11是从键盘输入的内容。 图1 程序运行效果示例 习题6-3 题码:章节:数组考查点:一维数组的应用难度:2 编写一程序p718.C实现以下功能 有一递推数列,满足f(0)=0,f(1)=1,f(2)=2, f(n+1)=2f(n)+f(n-1)f(n-2) (n>=2), 编写程序求f(n)的值(n由键盘输入,13>=n>=2)。编程可用素材:printf(“Input n (13>=n>=2): ”)...、printf(“\nf(...)=...\n”...。 程序的运行效果应类似地如图1所示,图1中的10是从键盘输入的内容。 图1 程序运行效果示例 习题6-4 题码:章节:数组考查点:键盘输入技巧的掌握和二维数组的应用,判断条件的设定难度:2 编写一程序p217.C实现以下功能 求任意的一个m×m矩阵的对角线上元素之和,m(2<=m<=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf("Please input m: ")...、 printf("\nPlease input array:\n")...、printf("\nsum=...\n"...。 程序的运行效果应类似地如图1所示,图1中的5和 1 45 67 235 464 35 6 89 32342 8 347 9346 47 95 746 46 785 436 19434 634 3235 567 24 8465 25 是从键盘输入的内容。

C语言第5次作业 简单程序设计

单选题: 1、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A.12 B.34 C.1234 D.提示出错、无结果 学生答案: C 参考答案: C 2、若有说明语句:int a,b,c,*d=&c; 则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A.scanf("%d%d%d",&a,&b,*d); B.scanf("%d%d%d",&a,&b,&d); C.scanf("%d%d%d",a,b,d); D.scanf("%d%d%d",a,b,*d); 学生答案: B 参考答案: A 3、以下合法的赋值语句是 A.x=y=100 B.d--; C.x+y; D.c=int(a+b); 学生答案: D 参考答案: B 4、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A.10,3 B.9,3 C.9,2 D.10,2 学生答案: D 参考答案: D 5、以下程序的输出结果是 main()

{ int a=3; printf("%d\n",(a+=a-=a*a));} } A.-6 B.12 C.0 D.-12 学生答案: D 参考答案: D 6、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A.9 B.12 C.13 D.14 学生答案: A 参考答案: A 7、下列程序执行后的输出结果是 main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); } A.G B.H C.I D.J 学生答案: A 参考答案: A 8、下列程序执行后的输出结果是 main() { char x=0xFFFF; printf("%d \n",x--); } A.-32767 B.FFFE C.-108 D.-32768

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

c语言第六次作业

第五题 #include int main () { int a[10][10],i,j,n; printf("Input n:"); scanf("%d",&n); printf("* "); for(j=1;j<=n;j++) { a[0][j]=j; printf("%d ",a[0][j]); } printf("\n"); for(i=1;i<=n;i++) { a[i][0]=i; printf("%d ",a[i][0]); for(j=1;j<=i;j++) { a[i][j]=a[i][0]*a[0][j]; printf("%d ",a[i][j]); } printf("\n"); } return 0; } 第二题 #include int main(void) { int a[12]={31,0,31,30,31,30,31,31,30,31,30,31};

int year,month,day,sum=0,i; printf("Input year,month,day:"); scanf("%d%d%d",&year,&month,&day); if(year%4==0&&year%100!=0||year%400==0) a[1]=29; else a[1]=28; for(i=0;i int main () { int n,i,j,a[6][6],index1,index2,index3,max; printf("Input n:"); scanf("%d",&n); printf("Input arry:"); for(i=0;i=max)

C语言作业

实验一 C程序的运行环境及简单程序编写(一) 一、实验目的 1. 了解VC++6.0集成环境的基本操作方法。 2. 了解在该系统上如何编辑、编译、连接和运行一个C程序。 3. 通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1. 打印输出你的姓名,年龄,地址信息。 2. 编写程序,实现输出 ********************************************* C语言程序设计 ********************************************* 3. 编写程序,求2个整数的和、差、积、商。 实验二C程序的运行环境及简单程序编写(二) 一、实验目的 1. 编写运行简单的C程序,了解C源程序的特点。 二、实验内容 1. 编写程序,已知长方形的长为8cm,宽为3cm,求长方形的周长和面积。 2. 在上一题的源代码中,用2种注释方法,添加注释内容: 这是一个简单的C语言程序。 3. 编写程序,实现输出三行文字,第一行 Print: (1)\\\\\\\\\\ (2)&&&&&&&&&& (3)|||||||||| 实验三数据的存储与运算(一) 一、实验目的

1. 掌握变量的定义及使用 2. 掌握整型数据在程序中的表示及使用 二、实验内容 1.教材P19例2.1 2. 编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的面值为20美 元、10美元、5美元和1美元钞票来付款。 运行结果: Ener a dollar amount:93 Result: $20 bills:4 $10 bills:1 $5 bills:0 $1 bills:3 3. 输入2个变量的值,交换这2个变量的值后输出。 Input (x,y):2,3 output(x,y):3,2 实验四数据的存储与运算(二) 一、实验目的 1. 掌握整型数据在程序中的表示及使用 2. 掌握实型数据在程序中的表示及使用。 二、实验内容 1.教材P24例2.2 2.教材P46习题1 3. 编写一个程序,要求用户输入一个两位数,然后逆序打印出这个数。 Enter a two-digit number:28 The reversal is :82 实验五数据的存储与运算(三) 一、实验目的 1. 掌握符号常量、字符型数据、字符串的应用 2. 掌握强制类型的转换 二、实验内容 1.给出园半径,求园的体积v=4/3πr3 2.将小写字母转换为大写字母,并将其按字符和整数两种方式输出。 3.输入从午夜开始的秒数total_sec,请计算出等价的时间,用小时(0 ~23)、分钟(0 ~59) 和秒(0 ~59)表示。(建议使用%运算符) Enter total seconds:2590 Time:0:43:10 4.编程计算1/2+1/3+1/5的结果。 实验六数据的存储与运算(四)

C语言作业2

期待的输出时间限制内存限制#include main() { int a,b,c,q,e,f,g,h,i,j,k,m,n,p,x,y,z; scanf("%1d",&a); scanf("%1d%1d%1d%1d%1d",&b,&c,&q,&e,&f); scanf("%1d%1d%1d%1d%1d",&g,&h,&i,&j,&k); x=a+c+e+g+i+k; y=b+q+f+h+j;

n=m-1; z=n%10; p=9-z; printf("%d\n",p); } H2:数制转换(选作) 成绩: 5 / 折扣: 0.8 我们通常使用的都是十进制的数字,但其实在生活中也经常会使用其它进制。 这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如12 和 5 ,在十进制下它们是不等的,但若12 使用 3 进制而5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制,12 和5 就可以是相等的。 程序的输入是两个数字M 和N( 其十进制的值不超过1000000000) ,它们的进制在2~36 之间。对于十以下的数字,用0~9 表示,而十以上的数字,则使用大写的A~Z 表示。 求出分别在2~36 哪种进制下M 和N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。 测试输入期待的输出 制 #include"string.h" #include"stdio.h"

{ char a[N],b[N],d[N],e[N],d0[N]; int i,j,o,r,g,h,w,t,l,k,max1,max2; double p[N],q[N]={0},u[N],v[N]={0},c[N],f[N],m,n; for(i=0;i='\x30') c[i]=b[i]-'0'; if(b[i]<='\x5A'&&b[i]>='\x41') c[i]=b[i]-'7'; } for(i=0;i='\x30') f[i]=e[i]-'0'; if(e[i]<='\x5A'&&e[i]>='\x41') f[i]=e[i]-'7'; } max1=c[0]; for(i=1;i

c语言第六次作业解析

第六次作业:指针 (以下题目如无特殊声明,请使用指针技术实现,尽量不要使用数组作为形参,也尽量避免使用数组下标引用数组元素) 1.数组元素循环移位 有n个整数,使前面的各整数顺序向后移动m个位置,后面的m个整数则变成最前面的m个数。写一函数实现以上功能。 在主函数中输入n及n个整数,输入m (m void main() { void inv(int *p,int n,int m); int n,m,a[20],*p; printf("please input n="); scanf("%d",&n); printf("please input %d numbers:",n); p=a; while(p

2. 矩阵元素的排序 将一个5×5的整数型矩阵中各元素重新排序。排序规则为,矩阵元素按照从左到右,从上到下的顺序依次递增,即 4,41,10,14,03,02,01,00,0.......a a a a a a a a ≤≤≤≤≤≤≤。 要求编写一个函数实现上述排序功能。 在主函数中输入该矩阵,调用编写的上述函数,然后输出排序后的矩阵。 #include void main() { void inv(int (*x)[5]); int i,j,a[5][5]; int (*p)[5]; printf("please input an 5*5 array:\n"); p=a; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",*(p+i)+j); inv(p); printf("the new array:\n"); for(i=0;i<5;i++) { for(j=0;j<5;j++) printf("%4d",*(*(p+i)+j)); putchar('\n'); }

C语言练习作业及参考答案

习题一 1、C语言源程序最多可能由____ABCD____________部分组成? A) 预处理部分B)变量说明部分 C) 函数原型声明部分D)函数定义部分 2、一个完整的C语言源程序最少必须有___C____。 A)若干个主函数B)若干个函数 C)且只能有一个主函数D)一个函数 3、C语言以函数为源程序的基本单位最主要有利于__B_____。 A)程序设计结构化B)程序设计模块化 C)程序设计简单化D提高程序设计有效性 4、要使得C语言编写的程序能够在计算机上运行并得出正确结果,必须要先经过______________B_______________________。 A)编辑和链接B)编译和链接 C)修改和运行D运行并输入数据 5、一个C程序的执行是从______A______。 A)本程序的main函数开始,到main函数结束。 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 6、以下叙述正确的是__A______。 A)在C程序中,main函数必须位于程序的最前面 B)C程序的每行中只能写一条语句 C)C语言本身没有输入输出语句 D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 7、以下叙述不正确的是___D_____。 A)一个C源程序可由一个或多个函数组成 B)一个C源程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 8、C语言规定:在一个源程序中,main函数的位置是___A_____。 A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

C语言作业2

H1:计算通用产品代码(UPC)的校验位(选作) 许多年来,货物生产商都会把超市售卖的每件商品上放置一个条码。这种被称为通用产品代码(Universal Product Code,缩写UPC)的条码可以识别生产商和产品。超市可以通过扫描产品上的条码来确定支付此项商品的费用。每一个条码由十二位数字构成,通常这些数字会显示在条码下面。例如,包装为26盎司的Morton牌碘化盐所用条码下的数字是:0 24600 01003 0 第一个数字表示商品的种类(0表示大部分的食品杂货,2表示需要称量的货品,3表示药品或和健康相关的商品,而5表示优惠券)。接下来的一组五位数字用来识别生产商。而第二组五位数字则用来区分产品类型(其中包括包装尺寸)。最后一位数字是“校验位”,它可以帮助鉴别先前数字中的错误。如果条码扫描出现错误,那么前十一位数字和最后一位数字可能会不一致,而超市扫描机也会拒绝整个条码。 下面是一种计算校验位的方法:首先把第一位、第三位、第五位、第七位、第九位和第十一位数字相加。然后把第二位、第四位、第六位、第八位和第十位数字相加。接着把第一次加法结果乘以3后再加上第二次加法的结果。随后,再把上述结果减去1。减法后的结果除以10取余数。最后,用9减去上一步骤中得到的余数。现在以Morton碘盐为例,第一组数字的加法是0+4+0+0+0+3=7,而第二组数字的加法是2+6+0+1+0=9。把第一组加法值乘以3后再加上第二组加法值得到的结果是30。再减去1,结果变为29。再把这个值除以10取余数为9。9在减去余数结果9,最终值为0 输入 每次输入三行数据,第一行是UPC的第一位数字,第二行是UPC的第一组五位数字,第三行是UPC的第二组五位数字。 输出 UPC的校验位 页脚内容1

川大c语言第一次作业

1.运行如下程序,并改正错误。 /*Hello,World!的变形程序*/ #include int main( ) { printf("________________\n| Hello, |\n| World! |\n(\\(\\ /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n(^?^)/\no_(\")(\")\n ");\\这里连成一排的 return 0; } 结果如下 2.用printf函数输出如下字符串:"abc\t123\r456\nabc\b123\\45",并分析输出结果。 " 解释: \t代表水平制表,每8个字符为一个输出区,所以首先是abc 123 \r代表将光标放回到行首,打出456将刚才的abc覆盖,现在是456 123 \n是换行 \b是退格,所以打出第二排的abc后退格成ab再打印成ab123, \\即代表\, 所以结果如上图。 3.将2147483648,(short)32768,-1用printf函数输出为十进制、八进制和十六进制形式, 并分析输出结果。 由于2147483648是2^31,所以转换为二进制是100000……0000(31个0),对于32bit的电

脑,ing最大是2^31-1,所以2^31好像是被认为成了最小值了,即-2^31 然后,又二进制转化为8进制,3位3位的变,转16进制则4位4位的变,结果如下 对于(short)32668,还是先转换为二进制111 111 110 011 100,转化为8进制是77634,111 1111 1001 1100转化为16进制是7f9c,结果如下 对于-1,转化为二进制是2^31-1,即为11111……11111(32个1),转化为8进制时,\o代表的是无符号的8进制数,32%3=2,所以第一位是3,后面是7,结果是37777777777, 由于32%4=0,所以是8个f,结果如下图 4.写程序把一个4位整数(比如qbsg)转换成另一个形式(sqgb)。 #include int main(int argc, char *argv[]) { int a,q,b,s,g,px ; printf("请输入一个正的4位数"); scanf("%d",&a); q=a/1000; b=(a-q*1000)/100; s=(a-q*1000-b*100)/10; g=(a-q*1000-b*100-s*10); px=1000*s+100*q+10*g+b; printf("转换结果是:%d",px);

福建师范大学C语言第一次作业及答案

编写程序: 1.定义一个Point类来处理三维点points(x,y,z).该类有一默认的constructor,一copy constructor, 一negate()成员函数将point的x,y和z值各乘-1, 一norm()成员函数返回该点到原点(0,0,0)的距离,一个print()成员函数显示x,y,和z的值。 #include #include using namespace std; class Point{ private: double x,y,z; double distance; public: Point(double newX,double newY,double newZ){ x=newX;y=newY;z=newZ; distance=sqrt(x*x+y*y+z*z); } Point(Point &p){ x=p.x;y=p.y;z=p.z; distance=p.distance; } void negate(){ x*=-1;y*=-1;z*=-1; } double norm(){ return distance; } void print(){ cout<<"x="<

C语言第7次作业

单选题: 1、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为________。 A.a < > 0 B.!a C.a=0 D.a!=0 学生答案: C 参考答案: D 2、若变量都已经说明,则以下程序段输出为( ) a=10;b=50;c=30; if (a > b) a=b; b=c;c=a; printf("a=%db=%dc=%d\n",a,b,c); A.a=10 b=50 c=10 B.a=10 b=30 c=10 C.a=50 b=30 c=10 D.a=50 b=30 c=50 学生答案: C 参考答案: B 3、以下程序的输出结果是 main() { int a= -1,b=1; if((++a < 0)&& ! (b-- < =0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); } A.-1 1 B.0 1 C.1 0 D.0 0 学生答案: B 参考答案: C 4、若执行下面的程序从键盘输入3和4,则输出是_______ main() { int a,b,s; scanf("%d%d",&a,&b); s=a; if (a < b) s=b; s=s*s; printf("%d\n",s); } A.14

B.16 C.18 D.20 学生答案: C 参考答案: B 5、下面的程序是______ main() { int x=3,y=0,z=0; if (x==y+z) printf("****"); else printf("####"); } A.有语法错误不能过通过编译 B.输出**** C.可能通过编译,但是不能通过连接,因而不能运行 D.输出#### 学生答案: C 参考答案: D 6、请读程序: main() { float x,y; scanf("%f",&x); if(x < 0.0) y=0.0 else if((x < 5.0)&&(x!=2.0)) y=1.0/(x+2.0); else if( x < 10.0) y=1.0/x; else y=10.0; printf("%f\n",y); } 若运行时从键盘上输入2.0(表示回车),则上面程序的输出结果是 A.0.000000 B.0.250000 C.0.500000 D.1.000000 学生答案: B 参考答案: C 7、执行下面语句后的输出为( ) int i= -1; if (i < =0)printf("****\n") else printf("%%%%\n") A.**** B.%%%% C.%%%%C D.有语法错,不能执行 学生答案: B

C语言第四次作业解析

第四次作业:数组 1.字符筛选 编写一个程序,先输入一个字符串str1(长度不超过20),再输入一个单独的字符ch,然后程序会把字符串str当中出现的所有的ch字符都删掉,从而得到一个新的字符串str2,然后把这个字符串打印出来。例如: ●输入:字符串str1为:86-010-******** 字符ch为:- ●输出:字符串str2为:861062785001 程序代码: #include #include void main() { int i,j=0,length; char str1[21],str2[21],ch; printf("字符串str1为:"); gets(str1); printf("字符ch为:"); scanf("%c",&ch); length=strlen(str1); for(i=0;i<=length;i++) { if(str1[i]!=ch) { str2[j]=str1[i]; j++; } else continue; } puts(str2); }

2.数据合并 编写一个程序,能够输入两个预先从小到大排列的整数型数组(假设数组长度最大为20,数组输入时遇到数字0结束);要求将这两个数组的数字能够合并成为一个新的从小到大顺序排列的整数型数据,并将新数组输出。例如: ●输入:请输入第一个数组:1,2,3,12,16,20,25,40,0 请输入第二个数组:4,5,6,15,18,20,21,22,25,38,45,0 ●输出:合并后的数组为:1,2,3,4,5,6,12,15,16,18,20,20,21,22,25,25,38,40,45 /*编写一个程序,能够输入两个预先从小到大排列的整数型数组(假设数组长度最大为20,数组输入时遇到数字0结束); 要求将这两个数组的数字能够合并成为一个新的从小到大顺序排列的整数型数据,并将新数组输出。 例如: 输入:请输入第一个数组:1,2,3,12,16,20,25,40,0 请输入第二个数组:4,5,6,15,18,20,21,22,25,38,45,0 输出:合并后的数组为:1,2,3,4,5,6,12,15,16,18,20,20,21,22,25,25,38,40,45*/ 程序代码: #include #include void main() { int i,j,t,k,m,n,r; int a[20],b[20],c[40]; printf("请输入第一个数组:");

C语言程序改错第七次作业概要

第七次作业 ——程序改错 完成实验教程《C语言程序设计上机指导与习题》中的程序改错题:一、P155——四、程序改错 1.从键盘输入两个整数,求出较大数并输出。 main() { int x,y,max; /**********FOUND(1)**********/ printf("%d %d",&x,&y); /**********FOUND(2)**********/ if(x>y); max=x; /**********FOUND(3)**********/ else(x<=y) /**********FOUND(4)**********/ y=max; printf("max=%d\n",max); } 2.从键盘输入一个实数,求其绝对值并输出。 main() {

/**********FOUND(1)**********/ int x,y; /**********FOUND(2)**********/ scanf("%f",&x) if(x>=0) /**********FOUND(3)**********/ y=-x; else /**********FOUND(4)**********/ y=x; printf("y=%f\n",y); } 3.从键盘输入x的值,求y的值并输出。main() {/**********FOUND(1)**********/ float x; scanf("%f",&x); /**********FOUND(2)**********/ if(x>0); y=1; /**********FOUND(3)**********/ else if(x=0)

中国大学MOOC哈工大C语言程序设计精髓第六周编程题答案

6.1 下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。目前程序存在错误,请将其修改正确。并按照下面给出的运行示例检查程序。 #include #include int main() { char score[100]; int flag = 0, i, s; char grade; printf("Please input score:\n"); while (1) { flag=0; scanf("%s", score); for (i = 0; i < strlen(score); i++) { if (score[i] >= '0' && score[i] <= '9') { continue; } else { flag = 1; break; } } s = atoi(score); if (s < 0 || s > 100 || flag == 1) { printf("Input error!\n"); printf("Please input score:\n"); continue; } else{ break; } } s = atoi(score); if (s >= 90)

grade = 'A'; } else if (s >= 80) { grade = 'B'; } else if (s >= 70) { grade = 'C'; } else if (s >= 60) { grade = 'D'; } else { grade = 'E'; } printf("grade: %c\n", grade); return 0; } 6.2 编程计算a+aa+aaa+…+aa…a(n个a)的值(4分) 题目内容: 编程计算a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。 #include #include int main() { int n,a,i,j; double p=0,q=0; printf("Input a,n:\n"); scanf( "%d,%d",&a,&n); for(i=1;i<=n;i++) { for(j=0,p=0;j

相关文档
最新文档