在 C 中将十进制转换为二进制时遇到问题。无输出
Having trouble converting a decimal into a binary in C. No output
通常这很容易,但我刚开始学习 C。我正在使用 visual studio 2017 社区,现在我似乎无法使用手表。当我 运行 程序时,它什么都不输出。我做错了什么?
//20_10_17
//Crehul Vlad
//Base conversion: Decimal into Binary
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main() {
int k=0, i, r, nr, c, N[64];
printf("Decimal Nr: "); scanf("%d", &nr);
c = nr;
while (nr % 2 != 0) {
r = c % 2;
c = c / 2;
N[k] = r; k++;
}
for (i = k; i > 0; i--) {
printf("%d ", N[i]);
}
_getch();
return 0;
}
int main()
{
int k=0, i, r, nr, c, N[64];
printf("Decimal Nr: "); scanf("%d", &nr);
c = nr;
if(nr==0)
printf("0");
else{
while (nr) {
r = nr % 2;
nr = nr / 2;
N[k] = r; k++;
}
}
// original number in variable c
for (i = k-1; i >= 0; i--) {
printf("%d ", N[i]);
}
return 0;
}
试着理解算法的作用。在编写终止条件代码时要小心。
通常这很容易,但我刚开始学习 C。我正在使用 visual studio 2017 社区,现在我似乎无法使用手表。当我 运行 程序时,它什么都不输出。我做错了什么?
//20_10_17
//Crehul Vlad
//Base conversion: Decimal into Binary
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void main() {
int k=0, i, r, nr, c, N[64];
printf("Decimal Nr: "); scanf("%d", &nr);
c = nr;
while (nr % 2 != 0) {
r = c % 2;
c = c / 2;
N[k] = r; k++;
}
for (i = k; i > 0; i--) {
printf("%d ", N[i]);
}
_getch();
return 0;
}
int main()
{
int k=0, i, r, nr, c, N[64];
printf("Decimal Nr: "); scanf("%d", &nr);
c = nr;
if(nr==0)
printf("0");
else{
while (nr) {
r = nr % 2;
nr = nr / 2;
N[k] = r; k++;
}
}
// original number in variable c
for (i = k-1; i >= 0; i--) {
printf("%d ", N[i]);
}
return 0;
}
试着理解算法的作用。在编写终止条件代码时要小心。