C语言 编写一个程序,输入一个正整数,求出它是几位数。

C语言 编写一个程序,输入一个正整数,求出它是几位数。,第1张

求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。

#include <stdio.h>

int main()

{

int n,num=0

scanf("%d",&n)

while(n){

num++

n/=10

}

printf("%d\n",num)

return 0

}

/*

输出:

123456

6

*/

扩展资料:

正整数,即大于0的整数,如,1,2,3…

0既不是正整数,也不是负整数(0是整数)。

负整数,即小于0的整数,如,-1,-2,-3…

知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。

参考资料来源:百度百科-正整数

1.以下是Python语言的程序示例:

num = float(input("请输入一个实数:"))

# 将实数转换为字符串,再取出第一个字符和第二个字符

num_str = str(num)

first_digit = num_str[0]

second_digit = num_str[2]

print("最高位数字是:", first_digit)

print("第一位小数的数字是:", second_digit)

程序首先使用input()函数从用户处获取一个实数,然后将该实数转换为字符串。接着,程序取出该字符串的第一个字符和第二个字符,即实数的最高位数字和第一位小数的数字。最后,程序使用print()函数输出这两个数字。

2.C语言编写的程序示例:

#include <stdio.h>

int main() {

float num

char num_str[50] // 假设输入的实数不超过50位

char first_digit, second_digit

printf("请输入一个实数:")

scanf("%f", &num)

// 将实数转换为字符串,再取出第一个字符和第二个字符

sprintf(num_str, "%.2f", num)

first_digit = num_str[0]

second_digit = num_str[2]

printf("最高位数字是:%c\n", first_digit)

printf("第一位小数的数字是:%c\n", second_digit)

return 0

}

程序首先使用scanf()函数从用户处获取一个实数,然后使用sprintf()函数将该实数转换为字符串。接着,程序取出该字符串的第一个字符和第二个字符,即实数的最高位数字和第一位小数的数字。最后,程序使用printf()函数输出这两个数字。

请注意,为了避免缓冲区溢出,程序在定义num_str数组时给了一个较大的长度50。此外,如果用户输入的不是一个合法的实数,程序可能会发生错误。在实际编程中,应该对用户的输入进行适当的验证和错误处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8142348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存