gpt4 book ai didi

c - 如何调用计算整数中位数的函数

转载 作者:行者123 更新时间:2023-11-30 20:09:50 25 4
gpt4 key购买 nike

我的函数应该获取一个非负整数,并返回该数字有多少位,例如对于数字 563,函数返回 3。对于 0 将返回 1。

*我是c语言新手,所以它对我来说仍然很困惑。谢谢。

这是我的代码:

#include <stdio.h>

int numOfDigits(int n); //Declartion

void main()
{
int num1, counter = 0, newNum;

printf("Enter A Number: ");
scanf("%d", &num1);
}

int numOfDigits(int n1)
{
int counter = 0;
if (n1 == 0)
return 1;

while (n1 > 0) {
counter++;
n1 /= 10;
}
return counter;
}

我应该写什么才能使程序运行?

最佳答案

只需调用您创建的数字计数函数并将其返回值分配给一个变量,然后使用 printf() 函数打印该变量的值;或者,在 printf() 中调用数字计数函数作为参数:

#include <stdio.h>

int numOfDigits(int n);

int main(void)
{
int num1;
int counter = 0;

printf("Enter A Number: ");
scanf("%d", &num1);

counter = numOfDigits(num1);
printf("number of digits: %d\n", counter);

//printf("number of digits: %d\n", numOfDigits(num1)); alternate method

}

int numOfDigits(int n1)
{
int counter = 0;
if (n1 == 0)
return 1;

while (n1 > 0) {
counter++;
n1 /= 10;
}
return counter;
}

一些注意事项:

  • 既然您提到需要获取非负数,请考虑使用 unsigned int 类型,并更改 scanf() 内部的格式说明符printf() 调用 "%u"
  • 函数 main 应声明为 int main(void)int main(int argc, char **argv)

关于c - 如何调用计算整数中位数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48833996/

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