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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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算起的。

参考技术A /*用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数*/
#include"stdio.h"
int count(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);

本回答被提问者采纳
参考技术B //拿去看吧
#include <stdio.h>
int count1(int N)

int count = 0;
int val;
int t;
int i;
for(i = 1; i <= N; i++)

val = i;
while(val)

t = val%10;
if(t == 1)
count ++;
val = val/10;




return count;

int main(void)

int N;
while(1)

scanf("%d",&N);
if(N == 0)
break;
printf("%d\n",count1(N));


追问

是Time Limit Exceeded

追答

那我就不懂了,结果是对的

计算一个整数N的阶乘 【单循环】

题目描述
计算一个整数N的阶乘
输入

一个整数N, (0〈=N〈=12)
输出

整数N的阶乘.

用java做出来

参考技术A #include<stdio.h>
int main()

int N,i,s=1;
scanf("%d",&N);
while(N<=12&&N>=0)

if(N!=0)

for(i=N;i>0;i--)

s=s*i;

printf("%d",s);

else if(N==0)
printf("1");
printf("\n");
return 0;

以上是关于C语言 N为正整数,计算从1到N的所有整数中包含数字1的个数的主要内容,如果未能解决你的问题,请参考以下文章

N为正整数,计算从1到N的所有整数中包含数字1的个数.用(c++)

C语言m~n之间的素数

用C语言编程,输入一个正整数,计算并显示该数的各位数字之和。

用c语言怎样编写n个数以内的完全数的程序

C语言编程:输入两个正整数m和n,求它们的最大公约数。

C语言编程:输入两个正整数m和n,求它们的最大公约数。