gpt4 book ai didi

C——数数

转载 作者:行者123 更新时间:2023-11-30 19:34:59 26 4
gpt4 key购买 nike

我是一名编码初学者,想听听您对本练习的以下解决方案的建议:

Write a program that loops prompting for positive or zero integers of data type long. Then the number of digits the integer consists of (in decimal representation) should be printed to stdout. Entering a negative number immediately stops the program. Output examples: 0 has 1 digit. 999 has 3 digits. etc.

我编写了下面的代码,根据我所做的测试,该程序完成了所有给定的任务。但你对此有何看法?我该如何改进它?

(而且我还认为我不允许在任何 c 库中使用任何已完成的有用函数。它只是“简单的”C 编码左右。我不知道如何描述它。)

(编程语言是C)

#include <stdio.h>

int main(void)
{
long number;
int n=0;

do
{
printf("Enter a number: ");
scanf_s("%ld", &number);

if (number > 0)
{
while (number != 0)
{
number /= 10;
n++;
}
}
else if(number == 0){
n = 1;
}
else {
exit();
}

printf("The number you've entered has %d digits.\n\n",n);
n = 0;

} while (getchar() != 'EOF');

return 0;
}

最佳答案

那个 getchar 没用,因为 EOF 表示文件已经结束,而您没有读取文件。将其更改为 while(number >=0)。

关于C——数数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com