编一个C程序求,100----300之间的三个数,使他们的积为42,和为12.(看看我的行吗?)

作者&投稿:子车荷 (若有异议请与网页底部的电邮联系)
你用遍历的方法,思路是正确的。
你题目给的和和积太小,不到100,应无解。
我们来改一下,练习写程序.

3个数之和是 656,3个数之积是 8605818
3个数应当是不同的3个数。
这样做:
#include <stdio.h>
#include <stdlib.h>
main()
{
long int i,j,k;
for (i=100;i<=300;i++)
for (j=i+1;j<=300;j++)
for (k=j+1;k<=300;k++)
{
if (i+j+k == 656)
if (i*j*k == 8605818) printf("%d %d %d\n",i,j,k);
}
return 0;
}
==========
j 从 i+1 开始循环, k 从 j+1 开始循环 这样 3个数 不一样,且节省计算时间。
条件判断,if (i+j+k == 656) 成立 再 判断 乘积,否则 不 判断 乘积。
加法比乘法 节省时间,所以先判断 之和。
-----------
你的式子里,逻辑与要 用 &&。
if ( (i+j+k == 656) && (i*j*k == 8605818)) {..};

你的算法太复杂了。。。
#include<stdio.h> 
main() 

int i,t,k; 
for (i=100;i<=300;i++) {
t=(i/100)*(i%100/10)*(i%100%10); 
k=i/100+i%100/10+i%100%10; 
if(t==42&&k==12) 
{
printf("%d
",i); 
}
}


你可以百度一下:使他们的积为42,和为12。很多答案的,参考下别人的程序。


悲催的程序员.
问题需要先思考一下,
这个问题显然无解,
不需要写程序.

编一个C程序求,200----300之间的一个数,使他各位数字的积为42,和为12?~

#include
int main()
{
int i;
int a,b,c;
for(i=200;i<301;i++)
{
a=i/100;
b=i/10;
b=b%10;
c=i%10;
if((a+b+c==12)&&(a*b*c==42))
printf("%d
",i);

}

}

你的题目应该是求在0到10或者20之间吧 我写的一个0到10之间满足你要求的程序 希望对你有帮助 程序源码如下:
# include
void main(void)
{
int i,j,k;
for(i=0;i<=10;i++)
for(j=0;j<=10;j++)
for(k=0;k<=10;k++)
{
if((i*j*k==42)&&(i+k+j==12))
cout<<i<<" "<<j<<" "<<k<<endl;

}
}

编一个C程序求,100---300之间的三个数,使他们的积为42,和为12.(看看...
答:3个数之和是 656,3个数之积是 8605818 3个数应当是不同的3个数。这样做:include <stdio.h> include <stdlib.h> main(){ long int i,j,k;for (i=100;i<=300;i++)for (j=i+1;j<=300;j++)for (k=j+1;k<=300;k++){ if (i+j+k == 656)if (i*j*k == 8605818)...

C语言编程求1到100中能被3整除的数并输出
答:1、首先新建一个工程和.c文件。2、然后输入头文件和主函数。3、接着输入定义变量类型。4、用一个for循环去遍历100~120之间的所有数。5、用if循环去判断该数能否被3整除。6、最后编译,运行就完成了。注意事项:尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C...

C语言,求100以内能被3整除或能被5整除的数的和
答:其中,被3整除的为3,6,9...,99共计33个。 能被5整除的为5,10,...95共计19个。能被15整除的为15,30,...90共计6个。于是得到如下程序:include <stdio.h>int main(){ int a=(3+99)*33/2;//被3整除之和。 int b=(5+95)*19/2;//被5整除之和。 int c=(15+90)...

C语言 编写程序,求出1~100之间所有能被3整除的整数,将他们输出,并且统 ...
答:static int func(){ int num ,i;num = 0 ;for (i = 1;i <= 100;i++) { if (i % 3 == 0 ) { num++;// 打印能被3整除的整数 printf("%d ",i);} } // 打印出1-100之间能被3整除的整数的个数 printf("\n%d\n",num);// 返回1-100之间能被3整除的整数的个数 retur...

求C语言程序:求100~200之间能被3整除的数的和并输出
答:include <stdio.h> int main(){ int ans = 0;for (int i = 100; i <= 200; ++i){ if(i %3 == 0){ ans += i;} } printf ("ans=%d\n", ans);return 0;}

c语言编写程序,输入一个3位整数,打印输出其个位数、十位数和百位...
答:include<stdio.h> void main(void){ int n;printf("输入一个三位的正整数: ");scanf("%d",&n);if((n>999)||(n<100)){ printf("%d 不是一个三位数\n",n);return;} printf("输入在数 %d,其个位是%d,十位是%d,百位是%d\n",n,n%100,(n/10)%10,n/100);return ;} ...

用c语言编写一个程序计算1~200之间所有包含3的数的和
答:include<stdio.h>void main() { int sum=0,a,b,c; for(int n=1;n<=200;n++) { if(n/100!=0) { a=n/100; b=(n%100)/10; c=(n%100)%10; if(a==3||b==3||c==3) sum+=n; } else if(n/10!=0) { a=n/10; b=n%10; if...

用C语言循环结构求100至999之间最大嗯三个素数
答:include<stdio.h> int main(){ int i,j,n;printf("100~999之间最大的3个素数是:");for(n=0,i=999;n<3&&i>100;i-=2){ for(j=2;j*j<=i;j++)if(0==i%j)break;if(j*j>i){ n++;printf(3==n ? "%d\n" : "%d,",i);} } return 0;} ...

急。。。求c语言程序100到1000中的素数而且含有数字3或7
答:flag=1;} } if(flag==0){ i=sushu[x];x++;} } for (a=0;a<x;a++){ printf("%d\n",sushu[a]);} } 这是求素数个数的程序,装那个实验环境,没运行过,判断3和7的话就直接看百位和十位及个位上的数,要下班了,告诉你写法,把取出来的数除以100取余就得到百位上的数,其他同...

用c语言编一个程序,求1 2 3 ……100的和。
答:include <stdio.h>int main(){int i,s=0;for(i=1;i<101;i++)s=s+i;printf("%d\n",s);return 0;}