巴巴鲁 发表于 2020-7-9 14:53:54

printf函数打印不了结果是什么原因?

本帖最后由 巴巴鲁 于 2020-7-9 14:54 编辑

问题:n个人围成一圈,并从1到n编号。轮流喊1,2,3,喊到3的出局,
循环往复,问最后剩的一个人的起始编号为多少?
我写的代码如下:
#include <stdio.h>
int main(void)
{
                int n;
                printf("请输入有几个人围成一圈:");
                scanf("%d", n);
                int a;
                int i, j, k;
                for(i = 0; i < n; i++)
                {
                        a = i + 1;// 数组编号从1 ~ n
                }
               
                i = j = k = 0;
                while(k < n - 1)
                {
                        if(a)
                        {
                              j++;
                        }
                        if(j == 3)
                        {
                              a = 0; //当报数为3时,令其为0
                              j = 0;
                              k++;
                        }
                        i++;
                        if(i == n)
                        {
                              i = 0; // i = n时表示一圈结束,重新开始
                        }
                }
               
                for(i = 0; i < n; i++)
                {
                        if(a) // 遍历寻找最后结果不为0的
                        {
                              printf("%d\n",a);
                              break;
                        }
                }
               
                return 0;
}

sunrise085 发表于 2020-7-9 14:53:55

发帖子的时候,用编辑器上面的 <> 按钮发代码就不会丢i了
你的程序问题是scanf的时候,n前没有加&

巴巴鲁 发表于 2020-7-9 14:56:32

不知道为什么发的时候是a,怎么就变成a了
这里的a都是a

Twilight6 发表于 2020-7-9 15:14:34

巴巴鲁 发表于 2020-7-9 14:56
不知道为什么发的时候是a,怎么就变成a了
这里的a都是a

用编辑器上面的 <> 按钮发代码就不会了

巴巴鲁 发表于 2020-7-9 15:40:33

sunrise085 发表于 2020-7-9 15:19
发帖子的时候,用编辑器上面的按钮发代码就不会丢i了
你的程序问题是scanf的时候,n前没有加&

我去,我找半天,敢情是这里错了...
用编辑器上面的<>按钮是什么意思?

sunrise085 发表于 2020-7-9 16:04:57

巴巴鲁 发表于 2020-7-9 15:40
我去,我找半天,敢情是这里错了...
用编辑器上面的按钮是什么意思?

发代码格式

巴巴鲁 发表于 2020-7-9 18:59:07

sunrise085 发表于 2020-7-9 16:04
发代码格式

好的,谢谢

巴巴鲁 发表于 2020-7-9 19:00:06

Twilight6 发表于 2020-7-9 15:14
用编辑器上面的按钮发代码就不会了

主要问的是为啥输出不了...已经解决了,不过还是谢谢
页: [1]
查看完整版本: printf函数打印不了结果是什么原因?