用c语言编一个输出1至100之间每位数的乘积大于每位数的和的数

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:09:49
完成下面的填空
main ( )
{ int n,k=1,s=0,m ;
for (n=1 ; n<=100 ; n++) {
k=1 ; s=0 ;
【1 】;
while (【2 】) {
k*=m%10;
s+=m%10;
【3 】;
}
if (k>s) printf(“%dd”,n);
}
}
谢谢各位的解答,你们的解法可行,但我这个填空问题还是没解决

不知道楼主怎么想的,这个问题为什么要用M,为什么要在中间加一个while循环,不懂,我提供另一种方法如下
1-100内符合条件,10以下,100排除,循环从11-99
#include <stdio.h>
void main ( )
{ int n,k,s;
for (n=11 ; n<100 ; n++)
{
k=n%10*(n-n%10);s=n%10+(n-n%10);
if(k>s)
{
printf ("%d ",n);
}
}
}

1-100内符合条件,10以下,100排除,循环从11-99
#include <stdio.h>
void main ( )
{ int n,k,s;
for (n=11 ; n<100 ; n++)
{
k=n%10*(n-n%10);s=n%10+(n-n%10);
if(k>s)
{
printf ("%d ",n);
}
}
}

代码不知道
不过 变量 K,S 重复定义了吧。
我记得C#中不可以,不知道C 和C++中是不是可以。
你要输出1到100 那么 for 的循环里面应该是
把N求余和商,而不关M什么事
N的余和商 放如两个变量 变量的乘积、和分别再放如两个变量,然后变量比较,乘积大的就输出N。
然后再循环!

m=n
m>0
m/=10
我的不是填空你以为是完整程序么?