c语言09年4月冲刺复习资料-上机填空题-上机2

上传人:人*** 文档编号:509703661 上传时间:2022-11-18 格式:DOC 页数:60 大小:803KB
返回 下载 相关 举报
c语言09年4月冲刺复习资料-上机填空题-上机2_第1页
第1页 / 共60页
c语言09年4月冲刺复习资料-上机填空题-上机2_第2页
第2页 / 共60页
c语言09年4月冲刺复习资料-上机填空题-上机2_第3页
第3页 / 共60页
c语言09年4月冲刺复习资料-上机填空题-上机2_第4页
第4页 / 共60页
c语言09年4月冲刺复习资料-上机填空题-上机2_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《c语言09年4月冲刺复习资料-上机填空题-上机2》由会员分享,可在线阅读,更多相关《c语言09年4月冲刺复习资料-上机填空题-上机2(60页珍藏版)》请在金锄头文库上搜索。

1、*第一题目*对应的代码:/*found*/ for (j=2; j=i) j=i,表示在上面if (i%j = 0)没有成功,所以会循环执行for (j=2; j=i,这样可以知道该数字i就是素数。 count+; printf( count%15? %5d:n%5d,i);*第二题目*填空题:代码:/*found*/ for (i=0; in/2; i+)/通过一次循环来实现将数组逆置。n/2,循环的位置,只需要循环到数组的中间位置,就可以完成逆置了。 t=ai;/*found*/ ai = an-1-i; /将前面的数组与后面的数组进行对换。当i0的时候,表示是第一个数组元素,所以要和最后

2、一个数组元素互换,所以是an-1-i/*found*/ an-1-i = t; /将前面的数组元素放到后面去。直接将上面的代码抄下来就可以了 *第三题目*代码:分析:int fun(STU *std, STU *k, int year) int i,n=0; for (i=0; iN; i+)/*found*/ if( stdi.year = =year) 由于要比较的是相同的年数,所以要将每次循环的结构体中的year都要比较一次,当我们指定的参数year和我们结构体中某个元素的year相同的时候,就执行下面的“把这个结构体数据保存到数组k中”/*found*/ kn+= stdi; 要注意,

3、n+,之后那么下次新得到的数据就放到了后面,例如,第一个放到了k0,由于进行了n+,那么下次符合条件的新的结构体就放到了k1中了。这里注意:进行的是结构体的整体复制,所以是填写stdi这个结构体的名称。/*found*/ return (n); 根据题目的要求,是要求返回符合条件的结构的数目,很多人会写成n1,这个地方应该是填写n。带入法则:假定有一个符合题目的要求,那么我们知道就执行一次kn+= stdi.由于k的初始值是0,所以这个地方是进行n+之后变成了1,返回的就是n,现在为1。不是能n1得到的0。*第四题目*代码:分析:#define M 5#define N 20int fun(c

4、har (*ss)N, int *n) int i, k=0, len= N;/*found*/ for(i=0; i M; i+) 题目要求:求字符串数组中长度最短的字符数串所在的行下标,所以这里循环的时候,一定是循环字符串的个数,也就是字符数组中表示存放字符个数的数组的行的个数(上课时强调的重点)。这个地方明显就是M,表示的是五行,作五次的循环判断,每次将字符串最短的给保存下来。 len=strlen(ssi); if(i=0) *n=len; /第一个字符串判断时要,初始化len,/*found*/ if(len num. 或 (*tt).num. int i; printf(n%d %

5、s %c %d-%d-%d, tt.num, tt.name, tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day); for(i=0; inext; s=p; 两个指针,t和s,我们要注意,s是在t前面的一个指针, s t while(t-next != NULL) 当t没有到末尾的时候(我要大家背了这句话)。 s=t;/*found*/ t=t-next; 这里也是我上课要大家背的,表示将指针往后挪一个位置。填写的是next。 /*found*/ printf( %d ,t-data); 将这个数据输出,我们知道数据域是

6、data,所以这个地方要填写的是tdata. s-next=NULL; /*found*/ free(t); s t 由于这个地方要求把最后一个节点给释放掉,所以这个地方是把t给释放掉。画个图,题目就很简单了。*第七题目*代码:分析:void fun(char *s) int i, j, n; for(i=0; si!=0; i+)/*found*/ if(si=0 & sii; j-) /*found*/ sj+1= sj; 把前一位的sj往后挪一位,因为增加了一位字符*,所以要往后面挪一个位置。使得空出的位置我们写上字符*。 sj+1=*; i=i+1; 跳过*这个字符的位置。 *第八题目*

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号