C语言 N为正整数,计算从1到N的所有整数中包含数字1的个数

N为正整数,计算从1到N的所有整数中包含数字1的个数。比如,N=10,从1,2...10,包含有2个数字1。

输入

输入数据有多组测试数据,每一组占一行,每行为一个数字N,其中1≤N≤9999。以0作为结束。

输出

输出1到N所有整数中1的个数,每个测试占一行。

样例输入

1
2
3
4
5
6
7
8
9
10
11
0

样例输出

1
1
1
1
1
1
1
1
1
2
4
不要c++的 刚学的人能够看懂 能有注释

如下:

/*用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数

*/#include"stdio.h"intcount(int n)

{int i,j,c=0;for(i=1;i<=n;i++)

{ j=i; while(j!=0){if(i%10==1) /*判断位数中是否有1*/{c++;}

j=j/10; /*让数除以十让他原来的高位变为低位,即原来的十位变成个位*/}}return c;}

main(){int c,n;printf("input n:\n");scanf("%d",&n);c=count(n);

printf("%d\n",c);}

C语言基础语法:

    数据类型:C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型;

    常量与变量:常量其值不可改变,符号常量名通常用大写。变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元;

    数组:如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。

温馨提示:答案为网友推荐,仅供参考