Zichenya 发表于 2020-4-22 17:39:58

大佬快进!

35. 一个数列的通项为:a n =10n次方 ,n=0,1,2,3„„,构成了1,10,100,1000,„„,把它们连起来,就成了数串:110100100010000„„。现从键盘输入一个正整数n(n<10000)用来表示这个数串的第n 位,函数judge()的功能是用来输出数串第n 位的值(0或1)。 #include "stdio.h"

int judge(int n)

{ int i;

int k=l;

for(i=0; _____①_____;i++;_____②_____)

_____③_____

return(_____④_____);

}

int main()

{ int n;

printf("input a number, n=");

scanf("%d", &n);

printf("the value of %d bit is:%d\n", n, _____⑤_____);

return 0;

}

Zichenya 发表于 2020-4-22 17:50:00

兄弟们,我懂了,1的位置有规律。

sunrise085 发表于 2020-4-22 18:03:37

你给出的片段是有问题的,
int k=1;你把1写成了l
for循环的小括号内,只能有两个分号,你把最后一个逗号写成了分号
#include <stdio.h>
int judge(int n)
{
    int i;
    int k=1;

    for(i=0;k<=n;i++,k+=i)
      if (k==n)return 1;
    return (0);
}
int main()
{
    int n;
    printf("input a number, n=");
    scanf("%d", &n);
    printf("the value of %d bit is:%d\n", n,judge(n));
    return 0;
}

Zichenya 发表于 2020-4-23 06:40:53

sunrise085 发表于 2020-4-22 18:03
你给出的片段是有问题的,
int k=1;你把1写成了l
for循环的小括号内,只能有两个分号,你把最后一个逗号 ...

我看着没问题。
页: [1]
查看完整版本: 大佬快进!