鱼C论坛

 找回密码
 立即注册
查看: 2694|回复: 17

[技术交流] C语言循环结构程序设计-for 循环语句

[复制链接]
发表于 2019-10-2 16:30:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 juhugufudu 于 2019-10-2 18:53 编辑

首先,我们先来热一下身。
题目:
(1)判断任意给定的正整数n(n>1)是否是质数
(2)对于给定的自然数n,在屏幕上输出仅由'#'构成的n行n列的正方形矩阵

游客,如果您要查看本帖隐藏内容请回复

现在,言归正传。我们要开始FOR语句与数学的结合了
先看题
将100元钱换成50元,20元和10元的小钞票,共有多少种方案,并输出每一条方案

转换成数学的话就是
50a+20b+10c=100

这个问题就是让你列举出不定方程的所有解!
算法就是:

枚举a,枚举b,枚举c
代码就是..
<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>
但我们可以优化
一旦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说:"一切皆有可能"
已知每人都对了一半,请给出正确的排名顺序

大家可能已经崩溃了为什莫是奥数题!!!
所以这个题作为一个作业布置了
提示一下:
    (a==3)+(c==1)=1
自行体会 Thank you for your see()

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-10-2 18:52:49 | 显示全部楼层
#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;
}
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-3 12:14:19 | 显示全部楼层
新人报道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-2 15:50:58 | 显示全部楼层
11
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-29 18:34:39 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-30 20:49:34 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-1-3 15:16:59 | 显示全部楼层
回访电话覅但是覅说的话覅说的话
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 14:20:53 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-27 15:10:02 | 显示全部楼层
.0.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-19 18:05:44 From FishC Mobile | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-19 18:22:03 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 14:56:42 | 显示全部楼层
大神,小弟在持谢过了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 15:49:45 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-23 16:08:43 | 显示全部楼层
过来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 19:50:34 | 显示全部楼层
我要偷一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-1 16:03:48 | 显示全部楼层
HUIFU
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 17:12:50 | 显示全部楼层
..
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-13 16:33:46 | 显示全部楼层
学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 15:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表