C 如何使用while循环输出可能的最小除数?
这个赋值要求我使用while循环输出尽可能低的除数。我想我已经记下了大部分,但是我无法得到我想要的正确输出。我一直得到0作为输出,我知道它是mod的余数,但我不知道如何输出除0以外的其他内容C 如何使用while循环输出可能的最小除数?,c,C,这个赋值要求我使用while循环输出尽可能低的除数。我想我已经记下了大部分,但是我无法得到我想要的正确输出。我一直得到0作为输出,我知道它是mod的余数,但我不知道如何输出除0以外的其他内容 #include <stdio.h> int main(void) { int divisor; int dividend; int lpd; int remainder; divisor=2; printf("Enter a number
#include <stdio.h>
int main(void)
{
int divisor;
int dividend;
int lpd;
int remainder;
divisor=2;
printf("Enter a number to divide: ");
scanf("%d", ÷nd);
while(remainder!=0)
{
lpd=dividend%divisor;
divisor++;
}
printf("%s %d","The lowest positive divisor is: ",lpd);
}
#包括
内部主(空)
{
整数除数;
国际股息;
int-lpd;
整数余数;
除数=2;
printf(“输入要除的数字:”);
scanf(“%d”和红利);
while(余数!=0)
{
lpd=股息%除数;
除数++;
}
printf(“%s%d”,“最小正除数为:”,lpd);
}
我想你想要这个
int main(void)
{
int divisor;
int dividend;
int lpd;
int remainder;
divisor=2;
printf("Enter a number to divide: ");
scanf("%d", ÷nd);
while(dividend%divisor!=0)
{
divisor++;
}
printf("%s %d","The lowest positive divisor is: ",divisor);
}
#包括
int main(){
整数除数=2;
国际股息;
int rements=1;//给它一个非零值
printf(“输入要除的数字:”);
scanf(“%d”和红利);
while(余数!=0){
余数=被除数%除数;//更新余数
除数++;
}
//由于循环的构造方式,除数为1
//要么减去一,要么以不同的方式重写循环
除数--;
printf(“最小正除数为:%d\n”,除数);
返回0;
}
Nothing更新余数
并且它没有值,这是未定义的行为。可能在大多数情况下,它的值都是0
,因此while循环不会run@asimes你能给我一个关于如何改变我的代码的例子吗?我对C还是新手,不知道下一步该做什么。康纳·米勒“一点也不知道”-->你当然知道。不要轻易放弃。尝试使用a。正整数n的最小除数为1。您的意思是希望程序打印最小素数因子吗?希望用户不要输入1
。
#include <stdio.h>
int main() {
int divisor = 2;
int dividend;
int remainder = 1; // Give this a non-zero value
printf("Enter a number to divide: ");
scanf("%d", ÷nd);
while (remainder != 0) {
remainder = dividend % divisor; // Update remainder
divisor++;
}
// Due to the way the loop is structured, divisor is off by one
// Either subtract one or rewrite the loop a different way
divisor--;
printf("The lowest positive divisor is: %d\n", divisor);
return 0;
}