我遇到了一个问题,我必须读取整数D,使得D遵循以下规则:
- > D仅包含零和一个
- > 1≤数字D≤10^ 5的长度。
- > D可以从零开始
此外,我必须将此数字存储在数组中,以便no的每个数字都存储在数组的一个单元格中。
例如,如果数字为001011
,则应将其存储在数组中,如
arr[0]=0 arr[1]=0 arr[2]=1 arr[3]=0 arr[4]=1 arr[5]=1
如何做到这一点?
答案 0 :(得分:2)
您的问题被称为XY问题(请参阅https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。
真正的问题(在评论中链接)不需要存储D的数字。而只需计算1和0的数量。 类似的东西:
#include <stdio.h>
int main(int argc, const char *argv[]) {
int rc;
char c;
int numZero = 0;
int numOne = 0;
while(((rc = scanf("%c", &c)) == 1) && (c == '0' || c == '1'))
{
if (c == '0')
++numZero ;
else
++numOne;
printf("%c", c);
}
printf("\n");
printf("Zeros: %d Ones: %d\n", numZero, numOne);
return 0;
}
输入:
111000111
输出:
111000111
零点:3个:6个
现在你可以在计数器上做一些逻辑,看看实际输出是“是”还是“否”。
祝你好运。