gpt4 book ai didi

c - 四舍五入整数以始终以 0 结尾

转载 作者:太空宇宙 更新时间:2023-11-04 06:22:15 25 4
gpt4 key购买 nike

我正在编写一个程序来计算 1 和另一个数字之间的完全平方数,我希望计数器只取整数的第一个数字,其余的数字为 0,例如:计算结果是31,我要显示30,如果是190,就显示100,以此类推。

int number;
int i = 1;
int perfectCounter = 0;

printf("Enter a number: ");
scanf("%d", &number);

while (i <= number) {
float tempSquare = sqrt(i);
int integerPart = tempSquare;

if (tempSquare == integerPart)
perfectCounter++;

i++;
}

printf("%d", perfectCounter);

这是我现在的代码,如果我插入 1000,它会显示 31,而我希望它显示 30,我想不出解决方案。

最佳答案

将数字除以数字下方 10 的最高次方。使用整数算术执行此操作,因此它获得除法的整数部分。然后乘以 10 的次方。

#include <math.h>

int powerOf10 = pow(10, (int)log10(perfectCounter));
int roundedCounter = (perfectCounter/powerOf10)*powerOf10;
printf("%d", roundedCounter);

关于c - 四舍五入整数以始终以 0 结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772579/

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