C(II)实验六
C C 语言程序设计实验 六 一、填空题 【题目 1】给定程序中,函数 fun 的功能是:将形参 s 所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。程序文件名:myf61.c 例如,形参 s 所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序不得增行或删行,也不得更改程序的结构!#include
注意:源程序不得增行或删行,也不得更改程序的结构!#include
if(__1__){ n=0;/**********found**********/ while(s[i+1+n]!= __2__)n++;for(j=i+n+1;j>i;j--)/**********found**********/ __3__ = s[j];s[j+1]="*";i=i+1;} } void main(){ char s[80]="def35adh3kjsdf7";printf("nThe original string is : %sn",s);/**********found**********/ fun(__4__);printf("nThe result is : %sn",s);} 二、改错题 【题目 3】 对存储在 string 数组内的英文句子中所有以 a 开始并以 e 结尾的单词做加密处理。加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左移一次;否则循环右移一次。例如 able 经循环左移一次后变为 blea;单词 abide 经循环右移一次后变为 eabid。程序文件名:myf63.c 【测试数据与运行结果】 测试数据:she is able to abide her.屏幕输出:she is blea to eabid her.【含有错误的源程序】 #include
str[m]=str[m+1];str[k-1]=c;} else { c=str[k-1];for(m=k-1;m>j;m--)str[m]=str[m-1];str[j]=c;} } i=k;} } void main(){char string[80]="she is able to abide her.";/**********found**********/ wordchange(string[80]);puts(string);} 【题目 4】 结构数组排序。函数的功能是对结构数组中前 num 个元素按 gender(性别)排序,f(女性)在前,m(男性)在后,对于 gender 相同的那些元素按 name(姓名)的字典序排序。程序文件名:myf64.c 【测试数据与动行结果】 运行结果:
beth f july f mary f jhon m tom m 【含有错误的源程序】 #include for(j=i+1;j 对于两个正整数,如果其中一个整数是另一个整数的全部因子之和,反之亦然而,则称这两个数为“和亲数”。例如,220 有真因子“1,2,4,5,10,11,20,22,44,55,110“,其和为 284,而 284 有真因子 “1,2,4,71,142”,其和为 220,因此 220 和 284 就是一对和亲数。程序文件名:myf65.c 【编程要求】 1. 编写函数 int heqinmath(int m,int n,int a[][2]),找出 m~n(m 2. 编写 main 函数,接收键盘输入的两个正整数 m 和 n(m 【测试数据与运行结果】 测试数据: m=2, n=500 运行结果:(220,284)(284,220)
