有没哪位大佬帮忙解答下,小弟在此谢谢
#include <stdio.h>#include <math.h>
int fun(int x)
{int s=0;
while(x!=0)
{s=s+x%10 ;
x=x/10;
}
return s;
}
void main()
{int a[11],b[11];
int i,j,p,temp;
for(i=0;i<10;i++)//从键盘输入10个正的整数
{printf("a[%d]=",i);
scanf("%d",&a[i]);
}
for(i=0;i<10;i++)
b[i]=fun(a[i]);
for(i=0;i<9;i++) //对40个升序排列
{p=i;
for(j=i+1;j<10;j++)
if(b[p]>b[j]) p=j;
if(p!=i)
{temp=b[p]; b[p]=b[i]; b[i]=temp;}
}
printf("排好序的数为:\n");
for(i=0;i <10;i++) printf("%5d",b[i]);
}
(1)上述提供程序中,函数fun的功能是什么?
(2)请依据提供的函数fun的程序代码,画出该算法的传统流程图或N-S图或自然语言描述。
(3)在VC6.0环境下,运行上述程序时,若输入的数据为23,321,456,78,98,478,834,65,79,819,则输出结果是什么?