有关C语言,求解答

函数fun的功能是:统计长整数n的各个位上出现数字1,2,3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如,当=123114350时,结果应该为:c1=3... 函数fun的功能是:统计长整数n 的各个位上出现数字1,2,3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。
例如,当=123114350时,结果应该为:c1=3,c2=1,c3=2.
注意:部分源程序给出如下。
请勿改动主函数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
第一个空为什么是n%10 不懂,求解释………………
展开
 我来答
小笨昊
2013-09-19 · TA获得超过369个赞
知道答主
回答量:85
采纳率:0%
帮助的人:73.8万
展开全部
第一个空的意思是说n除以10,最后的余数作为switch函数的变量。仔细一想一想啊,n除以10的余数就是从右往左第一个非零的数字,如果不是1,2,3就再一次除10,这一次的除10就把那个非零的数字除掉了,这样的话用while循环一次一次循环就筛了一边所有的位数,其他的应该能看懂吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友20ff23a
2013-09-19 · 超过24用户采纳过TA的回答
知道答主
回答量:103
采纳率:0%
帮助的人:74.1万
展开全部
假设n=232
第一次switch 执行n%10 取余为2 执行 case 2: c2++ 程序继续运行到n /= 10 此时n=23
第二次switch 执行n%10 取余为3 执行 case 3: c3++ 程序继续运行到n /= 10 此时n=2
第三次switch 执行n%10 取余为2 执行 case 2: c2++ 程序继续运行到n /= 10 此时n=0
switch终止 执行main{}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ai看雪
2013-09-19 · TA获得超过207个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:204万
展开全部
n%10表示n的最后一位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式