1、二级 C 语言机试 39 及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.str 是全部由小写字母字符和空格字符组成的字符串,由 num 传入字符串的长度。请补充函数 fun(),该函数的功能是:统计字符串 str 中的单词个数,结果由变量 num 传回。每个单词之间都由空格隔开,并且字符串 str 开始不存在空格。 例如:str=“how do you do”,结果为:num=4。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。 试题程序: #i
2、ncludestdio.h #define N 80 void fun(char *s,int *num) int i,n=0; for(i=0;U 【1】 /U;i+) if(si=a, fun(str,t+=j/i;return t;main()int m;clrscr();printf(“/nPlease enter 1 integer number:“);scanf(“%d“, fun(str,t+=j/i;return t;main()int m;clrscr();printf(“/nPlease enter 1 integer number:“);scanf(“%d“,i=1000;i+) /*求 1 到 1000 之内能被 5或 13 整除、但不能同时被 5 和 13 整除的所有整数,并放入数组 a 中*/ if(i%5=0|i%13=0) /*传回满足条件的数的个数*/ 解析 注意本题题目是找出能被 5 或 13 整除但不能同时被 5 和 13 整除的所有整数。能同时被 5 和 13 整除的整数一定能被 65 整除,且不能被 65 整除的数不一定就是能被 5 或 13 整除的数。所以可得出程序中的 if()。按运算优先级可知 (i%5=0|i%13=0),注意,两边必须要有小括号。