C 计数不';我打印不正确
我有以下计划:C 计数不';我打印不正确,c,C,我有以下计划: #include <stdio.h> #include <stdlib.h> int main() { int n, br, j=1, zbroj=0; printf("Ucitati cijeli broj(manji od 1000):\n"); scanf("%d", &n); for(br=1; br<=n; br++) { if(br % 6 == 0)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, br, j=1, zbroj=0;
printf("Ucitati cijeli broj(manji od 1000):\n");
scanf("%d", &n);
for(br=1; br<=n; br++)
{
if(br % 6 == 0)
printf("%d ", br);
j = br;
while(j != 0)
{
if(j % 6 == 0)
zbroj++;
j /= 6;
}
}
printf("\nPerica je zapisao %d cifara\n", zbroj);
return 0;
}
#包括
#包括
int main()
{
int n,br,j=1,zbroj=0;
printf(“Ucitati cijeli broj(曼吉od 1000):\n”);
scanf(“%d”和“&n”);
对于(br=1;br如果修改了zbroj
,则值的唯一位置是在循环中:
j = br;
while(j != 0)
{
if(j % 6 == 0)
zbroj++;
j /= 6;
}
这不是计算每个数字中的位数,而是计算每个数字可被6整除到zbroj
中的次数
要计算位数,可以将循环替换为:
if (br % 6 == 0)
{
printf("%d ", br);
j = br;
while (j != 0)
{
zbroj++;
j /= 10;
}
}
还请注意,我将while
循环移动到if
语句的范围内,以便zbroj
只计算实际打印出来的数字
为简洁起见,您还可以使用#include
并使用(int)log10(j)+1
对匹配的数字进行计数。调试C程序不需要IDE。您可能想阅读以下内容:“计数”是什么?@Mawg我用代码块写这个,这些变量在我的语言中是很短的单词,是的,我有点习惯用英语写这些单词。嗯,我相信zbroj
是一个单词,但是br?和j`?:-)不管怎样,你使用code::blocks是个好消息。你知道如何使用调试器吗?如果你知道,你可以自己轻松解决这个问题。如果你不知道,请停止编码并学习调试器。你会惊讶于它的帮助有多大。啊,log10部分很酷,哥们,今天学到了一个新东西Thanks@Govind帕尔玛是的,我一直在和伯爵犯同样的错误我一次又一次地明白你的意思,感谢你的提示log10(j)
在j时失败