欢迎来到天天文库
浏览记录
ID:38343298
大小:24.50 KB
页数:3页
时间:2019-06-10
《求数字的乘积根》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十五/*题目:求数字的乘积根。定义:正整数中非0数字的乘积为该数数字成绩。如1620的数字成绩为1*6*2=12,12的数字成绩为1*2=2。定义:正整数的数字乘积根为反复取该整数的数字成绩,直到最后的数字成绩为一位整数,这个整数就叫该正整数的数字乘积根。编程要求:统计在10000以内,其数字乘积根分别为为1~9的正整数的个数。【提示:在计算数字乘积根时用itoa函数将该数转换成字符串,然后再计算数字乘积。统计结果可以定义10个元素的整型数组来存放】*///作者:大师//#include#include
2、#defineN10000intITOA_CJG(intm);voidmain(){inti;intm;inta[10]={0};for(i=1;i<=N;i++){m=i;while(1){if(m>9)m=ITOA_CJG(m);else{a[m]++;break;}}//printf("数字%d的数字乘积根为:%d",i,m);}printf("在1到%d中,数字乘积根为1~9的正整数的个数分别为:",N);for(i=1;i<10;i++)printf("数字乘积根为%d的正整数个数为:%
3、d",i,a[i]);}intITOA_CJG(intm){inti;intn=1;charstr[5];for(i=0;i<5;i++)str[i]='1';itoa(m,str,10);for(i=0;str[i]!=' ';i++){if(str[i]=='0')str[i]='1';n*=str[i]-0x30;}return(n);}
此文档下载收益归作者所有