c语言 急需一个简单程序的注释和流程图!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:32:47
1、 编写一个函数:countdigit(long K,int count[10]),求出整数K中0~9各数字出现的次数,结果存于数组count[ ]中。
#include<stdio.h>
void countdigit(long k,int count[10])
{
int m;
int i;
for (i=0;i<10;i++)
count[i]=0;
if (k==0)

count[0]=1;

else
{
while (k>0)
{
m=((int)k)%10;
count[m]++;
k=k/10;
}
}
}
void main()
{
long k;
int count[10],i;
printf("请输入整数K:");
scanf("%ld",&k);
countdigit(k,count);
printf("\n0-9的个数依次为:\n");

for (i=0;i<10;i++)
printf("%3d",count[i]);
printf("\n");
}
求各位大侠帮忙!万分感激!

只要看这里

while (k>0)
{
m=((int)k)%10; //m为k的余数,假如k=345,那么k%10=5,即m=5
count[m]++; //count[m]=count[m]+1
k=k/10; //假如k=345,k/10=34
}
}

假如你输入的k=334455
到这里 m=((int)k)%10; m就成了5 所以count[5]加一个
到这里 k=k/10; k就成了33445
再判断 while (k>0),大于0,再进入循环 m=5, count[5]又加一个
k成了3344... 如此循环

函数countdigit(k,count)的用途就是用来统计一个整数k中个数字出现的次数,注释就不用了吧?