第十一次c语言作业

  • 格式:doc
  • 大小:400.00 KB
  • 文档页数:4

1 / 4

第十一次课作业

请预习、复习指针

习题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 / 4

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是从键盘输入的内容。 3 / 4

图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是从键盘输入的内容。 4 / 4

图1 程序运行效果示例

提示:

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

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