问题及代码:
#include <stdio.h>
/*
Copyright(c)2017,CSDN学院行者-
All rights reserved.
文件名称:main.c
作者:乔帅
完成日期:2018年1月21日
版本号:v1.0
问题描述:位乘大于位和
输入描述:无输入
程序输出:输出1至100之间每位数的乘积大于每位数的和的数
*/
int main()
{
int n,k=1,s=0,m ;
for (n=1 ; n<=100 ; n++)
{
k=1 ; //每次循环进行赋初值
s=0 ;
m=n ; //n不能直接用做下面的计算,所以将你的值赋给m,用m代替n进行后续工作
while(m>0) //m如果小于等于0的话后续工作就无法进行
{
k*=m%10;
s+=m%10;
m/=10; //m为整数,当m经过多次循环/10的过程,最终为一个个位数除以10取整为0,跳出循环
}
if (k>s)
printf("%d\n",n);
}
return 0;
}
运行结果:
部分结果
知识点总结:
1.循环的嵌套
学习心得:
这道题刚开始没有读懂题,后来看了老师的给的参考结果才看明白,所以这道题应该经常回来看一看