C语言循环结构程序设计-for 循环语句
本帖最后由 juhugufudu 于 2019-10-2 18:53 编辑首先,我们先来热一下身。{:10_328:}
题目:
(1)判断任意给定的正整数n(n>1)是否是质数
(2)对于给定的自然数n,在屏幕上输出仅由'#'构成的n行n列的正方形矩阵
**** Hidden Message *****
现在,言归正传。我们要开始FOR语句与数学的结合了{:10_315:}
先看题
将100元钱换成50元,20元和10元的小钞票,共有多少种方案,并输出每一条方案
转换成数学的话就是
50a+20b+10c=100
这个问题就是让你列举出不定方程的所有解!{:10_267:}
算法就是:
枚举a,枚举b,枚举c{:10_326:}
代码就是..
<font size="4">#include<stdio.h>
main()
{
int count = 0;
int a,b,c;
printf("a b c\n");
for(a = 0;a <= 2;a++)
for(b = 0;b <= 5;b++)
for(c = 0;c <= 10;c++)
if(50*a+20*b+10*c == 100){
count+=1;
printf("%d %d %d\n",a,b,c);
}
}
</font>但我们可以优化{:10_307:}
一旦a,b求出来了,c就不必枚举了。
c = (100-50*a-20*b)/10
代码如下:
#include<stdio.h>
main()
{
int count = 0;
int a,b,c;
printf("a b c\n");
for(a = 0;a <= 2;a++)
for(b = 0;b <= 5;b++)
{
c = (100-50*a-20*b)/10;
if(c>=0){
count+=1;
printf("%d %d %d\n",a,b,c);
}
}
}下一个问题:
a,b,c,d正在预测名次
a说:“我第三,c第一”
b说:”我第一,d第四“
c说:”我第三,d第二“
d说:"一切皆有可能"
已知每人都对了一半,请给出正确的排名顺序
大家可能已经崩溃了{:10_263:}为什莫是奥数题!!!
所以这个题作为一个作业布置了
提示一下:
(a==3)+(c==1)=1
自行体会 Thank you for your see()
#include<stdio.h>
int main()
{
/*
a说:“我第三,c第一”
b说:”我第一,d第四“
c说:”我第三,d第二“
d说:"一切皆有可能"
已知每人都对了一半,请给出正确的排名顺序
*/
int a,b,c,d;
for(a = 1;a <=4;a++)
for(b = 0;b <=4;b++)
if(a!=b)
for(c= 0;c<=4;c++)
{
if(a!=c && b!=c)
d = 1+2+3+4-a-b-c;
if(((a == 3)+(c == 1) == 1) && ((b == 1)+(d == 4) == 1) && ((c==3)+(d==2))) printf("a = %d,b = %d,c = %d,d = %d\n",a,b,c,d);
}
return 0;
}
答案 新人报道 11 1
1 回访电话覅但是覅说的话覅说的话 朕想知道 .0. 1 感谢分享
大神,小弟在持谢过了 看看 过来看看 我要偷一下 HUIFU
.. 学到了
页:
[1]