第十一次c语言作业

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

第十一次课作业

请预习、复习指针

习题11-1

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

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

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

程序的功能是:从键盘输入两个整数,分别保存到变量numA和numB,调用函数swap()实现numA和numB的交换,并在main函数中输出交换过后的numA和numB。

程序的运行效果应类似地如图1所示,图1中的:3,8是从键盘输入的内容。

图1 程序运行效果示例

提示:

利用指向变量的指针变量进行交换,void swap(int *x, int *y);

习题11-2:

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

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

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

程序的功能是:求S=1/1!+1/2!+1/3!+…+1/N!并输出结果。N为任意自然数(只考虑int型),从键盘读入。

程序的运行效果应类似地如图1所示,图1中的18是从键盘输入的内容。

图1 程序运行效果示例

提示:

由指向变量的指针变量记下阶乘倒数和,void fun(double *sn, int n);

习题11-3:

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

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

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

程序的功能是:键盘输入m,n(约定:m和n均≤1000且为正整数),输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。程序中函数void fun(int rsNum[], int begin, int end, int *Count)的功能是:计算出介于begin和 end(含begin和end)、能被3整除且至少有位数字是5的所有整数,并按从小到大的顺序放在rsNum 所指的数组中,这些数的个数通过形参 Count返回。

程序的运行效果应类似地如图1和图2所示,图1中的100,200和图2中的195,15是从键盘输入的内容。

图1 程序运行效果示例图2 程序运行效果示例

提示:

类似题p752.c

1、使用指向变量的指针变量记下数组中元素的个数,void fun(int rsNum[], int begin, int end, int *Count);

2、理解筛选算法:先筛选出某位数字为5的数字(已有代码),再筛选能被3整除的数字(用户补充的代码),注意使用“删除特定数组元素”算法——用i、j指向同一个数组num,i沿着原始数组扫描,将能被3整除的元素按照j所指位置放入原始数组,这样数组num中前j个元素都为能被3整除的元素。

j = 0;

for (i=0; i

{

if (num[i] % 3 == 0)

{

num[j] = num[i];

j++;

}

}

习题11-4:

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

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

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

程序的功能是:

①从键盘上先后读入两个字符串,假定存储在字符数组str1和str2中。注意,这两个字符串最长均可达到127个字符、最短均可为0个字符。

②将字符串str2插入字符串str1中,插入方法为:str2的第i个字符插入到原str1的第i个字符后,如果str2比str1(假定str1 的长度为L1)长,则str2的第L1个字符开始到str2结尾的所有字符按在str2中的顺序放在新生成的str1后。提示,合并时可使用中间数组。例如:

str1输入为"123456789",str2输入为"abcdefghijk",则输出的str1为:

1a2b3c4d5e6f7g8h9ijk

③在屏幕上输出新生成的str1。

程序的运行效果应类似地如图1所示,其中的123456789和abcdefghijk是从键盘输入的内容。

图1 程序运行效果示例

提示:

1、利用指向字符串的指针变量进行字符串的合并,void conj(char *string1, char *string2);

2、字符串的合并算法

习题11-5

题码:章节:数组考查点:函数的设计与应用难度:2

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

程序P421.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。为方便考生,系统提供完全实现程序功能的参考程序P421.txt(单击此处下载),但此参考程序并不符合P4-421.C的编制要求,考生可将此其中的部分代码复制到P421.C 中进行调整。

程序的功能是:

①程序运行时先显示Please input numbers:,再从键盘上读入一组整数(只考虑int型),数与数之间只使用空格或回车作分隔。数可正可负,最多10000个,但若读入的数为-222时,则表示输入结束且-222不算在该组数内。

②对这一组数按从小到大的顺序进行排序。

③将排序后的这一组数输出到屏幕上,输出格式为每行6个数,数与数之间使用逗号(,)分隔,两个逗号之间的宽度(不算逗号)为6且使用左对齐格式。注意,行尾没有逗号。

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

100 120 89 72 -19 200 500 210 235 6 24 1234 78 234 -234 -2342 346 23524 7823 -3411 23423 -222是从键盘输入的内容。

图1 程序运行效果示例

习题11-6*:(使用指针)——选做

题码:章节:数组考查点:函数的设计与应用难度:2

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

程序P422.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。为方便考生,系统提供完全实现程序功能的参考程序P422.txt(单击此处下载),但此参考程序并不符合P422.C的编制要求,考生可将此其中的部分代码复制到P422.C 中进行调整。

程序的功能是:

①程序运行时先显示Please input numbers:,再从键盘上读入一组整数(只考虑int型),数与数之间只使用空格或回车作分隔。数可正可负,最多10000个,但若读入的数为-222时,则表示输入结束且-222不算在该组数内。

②对这一组数按从小到大的顺序进行排序。

③将排序后的这一组数输出到屏幕上,输出格式为每行6个数,数与数之间使用逗号(,)分隔,两个逗号之间的宽度(不算逗号)为6且使用左对齐格式。注意,行尾没有逗号。

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

100 120 89 72 -19 200 500 210 235 6 24 1234 78 234 -234 -2342 346 23524 7823 -3411 23423 -222是从键盘输入的内容。

图1 程序运行效果示例

提示:

此题只是p421.c的一个变体,将选择排序部分的交换程序段写成一个独立函数void swap(int *x, int *y),利用指向变量的指针变量完成交换。

习题11-7*:——选做

题码:章节:数组考查点:函数的设计与应用难度:2

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

程序P423.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。为方便考生,系统提供完全实现程序功能的参考程序P423.txt(单击此处下载),但此参考程序并不符合P423.C的编制要求,考生可将此其中的部分代码复制到P423.C 中进行调整。

程序的功能是:

①程序运行时先显示Please input numbers:,再从键盘上读入一组整数(只考虑int型),数与数之间只使用空格或回车作分隔。数可正可负,最多10000个,但若读入的数为-222时,则表示输入结束且-222不算在该组数内。

②对这一组数按从小到大的顺序进行排序。

③将排序后的这一组数输出到屏幕上,输出格式为每行6个数,数与数之间使用逗号(,)分隔,两个逗号之间的宽度(不算逗号)为6且使用左对齐格式。注意,行尾没有逗号。

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

100 120 89 72 -19 200 500 210 235 6 24 1234 78 234 -234 -2342 346 23524 7823 -3411 23423 -222是从键盘输入的内容。

图1 程序运行效果示例

提示:

此题只是p421.c的一个变体,将选择排序部分中寻找i趟中数据最小值所在下标min的程序段写成一个独立函数int

min(int data[], int n, int m),此中n代表数组data[]中的有效数据个数,m对应于main()中的i趟,不使用指针。

带答案C语言2-10章作业

C语言习题集专业班级 学姓号名 C语言习题集 第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=3.5,y= 2.5;则下面表达式的值为( C )。 (float)(a+b)/2+(int)x% (int)y A)3.5 B)35 C)3.500000 D)35.00000 2.若有定义:int x=3 ,y=2; float a=2.5 ,b= 3.5;则下面表达式的值 为( B )。(x+y)%2+(int)a/(int)b A)1.0 B)1 C)2.0 D)2 3.若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有int x=11;则表达式(x++*1/3)的值是( A )。

A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <stdio.h> main( ) { double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf("%d\n", d*y);} A)3 B)3.2 C)0 D)3.07 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <stdio.h> main( ) { double d; float f; long l; int i; i=f=l=d=20/3; printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 6.0 6.0 B)6 6 6.7 6.7 C)6 6 6.0 6.7 D)6 6 6.7 6.0 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C )。 A)1 B)2 C)2.0 D)2.5 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。

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语言2-10章作业

C语言习题集 专业班级 学号 姓名

第2章运算符与表达式 一、选择题 1.若有定义:int a=2,b=3 ; float x=,y=; 则下面表达式的值为(C)。 (float)(a+b)/2+(int)x% (int)y A) B)35 C) D) 2.若有定义:int x=3 ,y=2; float a= ,b=; 则下面表达式的值为( B )。 (x+y)%2+(int)a/(int)b A) B)1 C) D)2 3.若x和n均是int 型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为( A )。x%=(n%=2) A)0 B)1 C)2 D)3 4.设有 int x=11; 则表达式 (x++*1/3)的值是( A )。 A)3 B)4 C)11 D)12 5.下列程序的输出结果是( C )。 #include <> main( ) { double d=; int x,y; x=; y=(x+/; printf("%d\n", d*y);} A)3 B)3.2 C)0 D) 6.下列程序执行后的输出结果是(小数点后只写一位)( A )。 #include <> main( ) { double d; float f; long l; int i; i=f=l=d=20/3;

printf("%d %ld %f %f\n", i,l,f,d); } A)6 6 B)6 6 C)6 6 D)6 6 7.若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是( C )。 A)1 B)2 C) D) 8.若变量a,i已正确定义,且i已正确赋值,则合法的语句是( B )。 A)i=int(a) B)++i; C)a=a++=5; D)a=int(i); 9.若执行以下程序段后,c3的值为( A )。 int c1=1,c2=2,c3; c3=c2*c1; A)0 B)0.5 C)1 D)2 10.如下程序的运行结果是( D )。 #include <> main( ) { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } A)3 4 B)4 2 C)4 3 D)3 3 11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( D )。 A)a>=10 or a<=0 B)a>=0|a<=10 C)a>=10 && a<=0 D)a>=10||a<=0 12.设x,y,t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( C )。 A)不定值B)4 C)3 D)1 13.以下程序的输出结果是( D )。 #include <> main( ) { int a=3;

第六次作业

习题九 一、选择题 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)你的每次作业的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语言作业

第九次课作业: 请课后完成p816、p812、p822、p241、p243、p244、p245(p246*)、p247(p248*)、p249(p250*、p251*、p252*) 习题9-1 题码:章节:考查点:普通变量作为函数参数、函数返回值、素数算法难度:0 根据要求编写程序P816.C的指定部分: 程序P816.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。 程序的功能是:输入两个整数m和n,输出大于等于m(m>5)的n个素数,输出的各素数间以空格相隔。注:素数(Prime umber),亦称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。 程序的运行效果应类似地如图1所示,图1中的17,5是从键盘输入的内容。 图1 程序运行效果示例 习题9-2 题码:章节:考查点:函数定义及调用难度:0 根据要求编写程序P811.C的指定部分: 程序P811.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。 程序的功能是:输入三角形的三边长a、b、c,求三角形面积area,并输出。如果输入的三边构不成三角形,应给出“data error”的信息提示。注:根据“海伦-秦九韶”公式,area=√p(p-a)(p-b)(p-c),其中p=(a+b+c)/2。 程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。 图1 程序运行效果示例图2 程序运行效果示例 习题9-3 题码:章节:考查点:函数定义及调用难度:0 根据要求编写程序P813.C的指定部分: 程序P813.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。 程序的功能是:有一递推数列,满足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)。 程序的运行效果应类似地如图1所示,图1中的10是从键盘输入的内容。 图1 程序运行效果示例 习题9-4 题码:章节:考查点:数组名作为函数参数、数组元素逆序存放算法难度:0 根据要求编写程序P817.C的指定部分: 程序P817.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。 程序的功能是:从键盘输入一行可带空格的字符串(约定:字符数≤127字节),按逆序输出该字符串。注意,程序中不能使用库函数strrev或使用同名的变量、函数、单词。 程序的运行效果应类似地如图1所示,图1中的abc xyz是从键盘输入的内容。 图1 程序运行效果示例 习题9-5 题码:章节:考查点:函数定义及调用难度:0 根据要求编写程序P814.C的指定部分: 程序P814.C已编写部分代码(单击此处下载),请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。

C语言程序设计-作业与答案

《C 语言程序设计》课程作业 适用层次:专升本 培养类型:理工科专业 专业班级: 姓名: 学号: 作业要求:题目可打印,答案要求手写,考试时交作业。 第1次: 1.编写程序,分别计算1到100之间的奇数之和及偶数之和,并输出。 2.输入三角形的三条边a 、b 、c ,如果能构成一个三角形,则计算并输出三角形的周长和面积(结果保留两位小数);否则输出“无效的边长!”。 三角形面积计算公式为: s=))()((c x b x a x x ---,其中,x=(a+b+c)/2。 3.输入一个整数,求它的各位数字之和。例如,123的各位数字之和为6,-63的各位数字之和为9。 4.使用格里高利公式求π的近似值,精确到最后一项的绝对值小于10-6 。 +-+-=71 513114π …… 5.中国古代数学史上著名的“百鸡问题”:鸡翁一,值钱五;鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问翁、母、雏各几何? 6.编写程序,键盘输入正整数n (0= 2 2. 编写一个函数prime(int n),判断一个整数是否是素数,若是素数,函数值返回1,否则返回0。利用该函数找出100-200之间的所有素数。素数是只能被1和自身整除的正整数,2是最小的素数。 3.写一函数int strlength(char *s)求一个字符串的长度。主函数中输入一个字符串,调用函数strlength 求其长度并输出。

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语言习题及答案(第九章)

9-3编写程序,使用结构体类型,输出一年十二个月的英文名称及相应天数。 解:#include "stdio.h" struct date { char month[10] ; int daynumber ; } main() { int i ; struct date a[12]={{"January",31},{"February",29},{"March",31},{"Aprial",30},{ "May",31},{"June",30},{"july",31},{"August",31},{"September",30}, {"October",31},{"November",30},{"December",31}} ; for(i=0;i<12;i++); printf("%d 月:%s %d\n",i+1,a[i].month,a[i].daynumber) ; } 思考:如何对结构体变量进行初始化?对结构体变量的引用为何要体现为分量(或成员)的引用? 9-4 编写程序求空间任一点到原点的距离,点用结构体描述。并请考虑求空间中任意两点的距离的程序。 解:#include "stdio.h" #include "math.h" struct point { float x ; float y ; float z ; } main() { double d1,d2,d ; struct point p1,p2 ; printf("请输入第一个点的坐标:");

scanf("%f,%f,%f",&p1.x,&p1.y,&p1.z); printf("请输入第二个点的坐标:"); scanf("%f,%f,%f",&p2.x,&p2.y,&p2.z); d1=sqrt(p1.x*p1.x+p1.y*p1.y+p1.z*p1.z); d2=sqrt(p2.x*p2.x+p2.y*p2.y+p2.z*p2.z); d=sqrt((p2.x-p1.x)*(p2.x-p1.x)+(p2.y-p1.y)*(p2.y-p1.y)+(p2.z-p1.z)*( p2.z-p1.z)); printf("第一个点到原点的距离:%f\n",d1); printf("第二个点到原点的距离:%f\n",d2); printf("两点间的距离:%f\n",d); } 9-5 编写输入、输出10个朋友数据的通讯录程序,每个朋友数据包括姓名、地址、邮编、电话、传呼、手机等数据。 解:#include "stdio.h" struct AddressBook { char name[10] ; char address[30] ; char mailnumber[7] ; char telphone[12] ; char byphone[16] ; char movephone[1] ; } main() { int i ; struct AddressBook fd[10] ; for(i=0;i<10;i++) { printf("请输入第%d个朋友的信息:\n",i+1); printf("姓名:"); scanf("%s",&fd[i].name) ; printf("地址:");

最新C语言程序设计作业答案汇总

C语言程序设计作业 答案

C语言程序设计作业答案 作业一 C语言概述参考答案 一、选择题 1-5 ACDCB 二、编程题 main() { printf(“****************************************\n”); printf(“ Hello,world! \n”); printf(“****************************************\n”); } 作业二程序的灵魂——算法参考答案 一、填空题 1、确定性、有效性、有零个或多个输入、有一个或多个输出 2、顺序结构、选择结构、循环结构 3、函数 作业三数据类型、运算符与表达式参考答案 一、选择题 1-5 BDDAB 6-10 BCAAB 11-15 BCADC 16-20 DACCA 21-25 ADDBA 26-30 DDDDD 作业四顺序结构参考答案 一、选择题 1-5 BCDDD 6-10 BDADD 二、填空题

1、【31.415920,3.14159e+01】 2、【c=k】 3、【a=1,b=空格,c=2】 4、 【a=12,b=345】 5、【c=A】 作业五选择结构参考答案 一、选择题 1-5 ADCBC 6-10 BBBBA 11-15 DBAAC 16-17 CB 二、填空题 1.【-1】 2.【3】 3.【4】 4.【11】 5. 【97或'a'】 作业六循环结构参考答案 一、选择题 1-5 CBAAC 6-10 CBCCB 11-15 DBDDB 16-20 BCAAC 21-25 CDBBB 作业七数组参考答案 一、选择题 1-5 CDDAC 6-10 CCDBC 11-15 DDBCA 16-20 DCBDD 21-23 BDB 二、填空题 1、LBLMNP 2、SW* 3、mo 4、a=2,b=1 作业八函数参考答案 一、选择题 1-5 AAACA 二、填空题 1【编程中的main( )函数】2【函数说明部分】和【函数体】 3【–125= –5*5*5】 4【void add (float a, float b)】【float add (float a, float b)】

第六次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语言练习作业及答案

习题一 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语言作业

实验一 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语言习题集及答案

目录 第一单元程序设计和C语言 (1) 第二单元顺序程序设计 (3) 第三单元分支程序设计 (7) 第四单元循环程序设计 (14) 第五单元数组 (23) 第六单元函数 (34) 第七单元指针 (42) 第八单元结构体和共用体 (61) 第九单元文件 (78) 附加题 (82) 模拟试卷一................................................................................. 错误!未定义书签。模拟试卷二................................................................................. 错误!未定义书签。模拟试卷三................................................................................. 错误!未定义书签。

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是:。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是:。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是:。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是:。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。 int k,a,b; unsigned long w=5; double x=1.422; A. x%(-3) B. w+=-2 C. k=(a=2,b=3,a+b) D. a+=a=+(b=4)*(a=3) 10.在C语言中,字符型数据在内存中以形式存放。 A. 原码 B. BCD码 C. 反码 D. ASCII码

C语言作业答案

第一章:第6题 方法一: #include int main() {int a,b,c,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if (max int main() {int max(int x,int y); int a,b,c,d; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); d=max(max(a,b),c); printf("The largest number is %d\n",d); return 0; } int max(int x,int y) { return (x>y)?x:y; } 第三章第3题 #include #include int main() {float d=300000,p=6000,r=0.01,m; m=log10(p/(p-d*r))/log10(1+r); printf("m=%6.2f\n",m); return 0;

} 第4题 #include int main() {char c1,c2; c1=97; c2=98; printf("c1=%c,c2=%c\n",c1,c2); printf("c1=%d,c2=%d\n",c1,c2); return 0; } (1)运行时会输出什么信息?为什么? 解:运行时输出: 第1行是将c1,c2按%c的格式输出,97是字符a的ASCII代码,98是字符b的ASCII代码。第2行是将c1,c2按%d的格式输出,所以输出两个十进制整数。 (2)如果将程序第4,5行改为: C1=197; C2=198; 运行时会输出什么信息?为什么? 解:由于Visual C++6.0字符型数据是作为signed char 类型处理的,它存字符的有效范围为0~127,超过此范围的处理方法,不同的系统得到的结果不同,因而用“%c”格式输出时,结果是不可预料的。 (3)如果将程序第3行改为; int c1,c2; 运行时会输出什么信息?为什么? 解:如果给c1和c2赋的值是97和平利用8,则输出结果与(1)相同。如果给c1和c2赋的值是197和198,则用%c输出时,是不可预料的字符。用%d输出时,输出整数197和198,因为它们在int类型的有效范围内。 第5题 #include int main() {int a,b; float x,y; char c1,c2; scanf("a=%d b=%d",&a,&b); scanf("%f %e",&x,&y);

相关文档
最新文档