B072

01-程序填空题 田少松, 软件154 381浏览

所属年份:2011.3

函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。

注意:部分源程序在文件BLANK1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

#include <stdio.h>
int c1,c2,c3;
void fun(long n)
{
    c1=c2=c3=0;
    while(n)
    {
        switch(__1__)
        {
        case 1:
            c1++;
            __2__;
        case 2:
            c2++;
            __3__;
        case 3:
            c3++;
        }
        n/=10;
    }
}

main()
{
    long n=123114350L;
    fun(n);
    printf("\nThe result: \n");
    printf("n=%ld c1=%d c2=%d c3=%d\n",n,c1,c2,c3);
}

【参考答案】

(1) n%10  
(2) break  
(3) break

【解题思路】
填空1:要统计长整数n的各个位上出现数字1、2、3的次数,就需要判断各个位上的数是多少。通过n除以10求余,可得到个位上的数,所以填入n%10。
填空2和填空3:switch语句是多分支选择语句,在每个分支中要加入break,不然会依次执行后面的分支。continue语句的作用是结束当前分支的运行,而break语句的作用是结束整个switch语句的运行。