第十一次c语言作业
第次课作业
请指针
题-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:
根据要求编写程序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 ;
习题-3:
根据要求编写程序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 程序运行效果示例
提示: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 count; i++ if num[i] % 3 0 num[j] num[i];
j++; 习题-4:
根据要求编写程序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输入为"1座机电话号码",str2输入为"abcdefghijk",则输出的str1为: 1a2b3c4d5e6f7g8h9ijk ③在屏幕上输出新生成的str1。 程序的运行效果应类似地如图1所示,其中的1座机电话号码和abcdefghijk是从键盘输入的内容。
图1 程序运行效果示例
提示:
void conj char *string1, char *string2 ;
2、字符串的合并算法
习题11-5
题码: 章节:数组 考查点:函数的设计与应用 难度:2
根据要求编写程序P421.C的指定部分: 程序P421.C已编写部分代码 单击此处下载 ,请根据程序中的要求完善程序——注意,除指定位置外,不能对程序中已有部分作任何修改或重新编写一个程序,否则作0分处理。为方便考生,系统提供完全实现程序功能的参考程序P421.txt 单击此处下载 ,但此