例题:找出1~n之间有多少个9
#include<stdio.h>
int main()
{
int n,i;
int count;
printf("input n:");
scanf("%d",&n);
for( i = 1 ; i <= n ; i++ )
{
while(i)
{
if( i % 10 = 9)
{
count ++;
}
i /= 10;
}
}
return 0;
}
上面代码最后运行结果是错的
在这里有两个我现在经常会犯的错误:
1.count 未赋初值就使用count++
2.for循环中,i 被改动了,应该在另设一个变量k
改后的代码如下:
#include<stdio.h>
int main()
{
int n,i,k;
int count = 0;
printf("input n:");
scanf("%d",&n);
for( i = 1 ; i <= n ; i++ )
{
k = i;
while(i)
{
if( i % 10 = 9)
{
count ++;
}
k /= 10;
}
}
return 0;
}