gpt4 book ai didi

c - 如何在 C 中打印全零?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:44:02 24 4
gpt4 key购买 nike

我想使用这段代码打印输入中的所有零。例如:

 input: 10000 -------------- output: 0000

但我明白了:

 input: 10000 -------------- output: 0

这是C99中的源代码:

#include<stdio.h>
int main() {

int co = 0, inputNumber, i, j, prod = 1, number = 0, ten = 10, newValue;
int numberOfInputs;
scanf("%d", &numberOfInputs);

for(i = 1; i <= numberOfInputs; i++) {
scanf("%d", &inputNumber);

for(j = 1; j < inputNumber; j++) {
if(inputNumber % j == 0) {
prod = prod * j;
}
}
if(prod < 10000)
printf("%d", prod);

else {
newValue = prod;
while((int)prod / 10 != 0) {
prod = (int) prod/10;
co++;
number = newValue % ten;
ten *= 10;
if(co == 4) {
printf("%d \n", number);
break;
}
}
}
}
return 0;
}

请大家帮忙:)

最佳答案

所以基本上,您想要打印出带前导零的乘积的最低四位数字,这非常简单:

printf( "%04d\n", prod % 10000 );

稍微清理和重新格式化您的代码基本上可以简化为:

#include <stdio.h>

int main( void )
{
int inputNumber, i, j, prod=1;
int numberOfInputs;

scanf( "%d", &numberOfInputs );
for(i = 1; i <= numberOfInputs; i++ )
{
scanf("%d", &inputNumber);
for(j = 1; j < inputNumber; j++ )
{
if( inputNumber % j == 0)
{
prod = prod*j;
}
}

printf( "%04d\n", prod % 10000 );
}
return 0;
}

关于c - 如何在 C 中打印全零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34361464/

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