| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1481 人关注过本帖
标题:C语言循环判断
只看楼主 加入收藏
尔二
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-10-19
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:9 
C语言循环判断
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
运行之后就没有下文了
搜索更多相关主题的帖子: 循环判断 运行 C语言 
2020-12-24 23:28
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:5 
年轻人,这是死循环,你不讲武德,do  while是死循环

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2020-12-24 23:32
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:5 
回复 楼主 尔二
程序代码:
#include<stdio.h>
int main()
{
    int i, n;
    printf("输入人数:");
    scanf("%d", &n);
    for(i = 1;i < n;i++)    // 报数得从 1 开始
    {
        if (i % 2 != 0)
        {
            printf("%d ", i);
        }
    }
    return 0;
}
2020-12-25 11:15
尔二
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-10-19
收藏
得分:0 
回复 2楼 do8do8do8
我少return值是吗
2020-12-25 13:25
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9055
注 册:2010-3-16
收藏
得分:0 
回复 4楼 尔二
你的do...while循环的i和n的值没有变,所以这个while会一直运行下去,成为死循环。
2020-12-25 14:09
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
回复 4楼 尔二
年轻人
题目是这样滴
假如有11个人 依次编号为:  1  2  3  4  5  6  7  8  9  10  11
                   --------------------------------------------
                   报数    1  2  1  2  1  2  1  2  1   2   1
            报1的编号为:  1     3     5     7     9       11
如果按照实际操作呢,挨个抡过去就行了,一次过,谁报1谁站出来。所以一个循环就可以了
而你用了两个循环 一个是 for  一个是do while. 不知道你那个do  while是不是把站出来的人 轮番揍一顿(如果是的话,有必要这么写)
但是一次过就行了,一次就行
所以  for(i=1;i<=11;i++)  就会得到 1 2 3 4 5 6 7 8 9 10 11的编号
再针对每个编号的处理   就是
     for(i=1;i<=11;i++)
     {
          if(i%2!=0) /*是1的站出来,因为只有报数1和2,那么可以理解为是奇数位的就站出来,根据奇数的特性,奇数除以2是非整除,由此得判断它是否为奇数*/
          printf("%d ",i);/*打印就是站出来的意思*/     
}
   这里是特列11,把11换成n 那就是你输入的n

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2020-12-25 15:23
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:5 
但是你的代码稍微改一下也可以

去掉do while
然后把 j=n/2;改成 j=n%2;

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2020-12-25 15:27
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:5 
把for(i=0;i<=n;i++) 改成for(i=1;i<=n;i++)  因为i就是编号,而且题目要求编号是从1开始,按题目来

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2020-12-25 15:31
尔二
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-10-19
收藏
得分:0 
回复 8楼 do8do8do8
年轻人受教了
2020-12-25 21:38
尔二
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2020-10-19
收藏
得分:0 
回复 5楼 apull
我还是太菜了多谢指教
2020-12-25 21:38
快速回复:C语言循环判断
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016714 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved