用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数相关的知识,希望对你有一定的参考价值。
用函数调用,那如果输入的是一个大于100或1000的数呢?
/*用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);
参考技术A 不知道这个是不是你想要的
#include"stdio.h"
#include"string.h"
int
count(int
num)
int
count=0;
while(num>0)
if(num%10==1)//判断个位
count++;
num/=10;//去掉个位,得到下一个数
return
count;
void
main()
int
num,i,sum=1;
printf("Please
insert
the
value
of
num:");
scanf("%d",&num);
for(i=2;i<=num;i++)
sum+=count(i);//循环得到每一个数字中字符'1'的个数
printf("the
tatol
'1'
is:%d\n",sum);
参考技术B #include
int
main(void)
int
n;
float
s=0.0;
printf("请输入需要计算数列前多少项:");
while(!scanf("%d",&n))
printf("输入错误!请重新输入:");
fflush(stdin);
for(int
i=0;i
评论
0
0
加载更多 参考技术C 不知道这个是不是你想要的
#include"stdio.h"
#include"string.h"
int count(int num)
int count=0;
while(num>0)
if(num%10==1)//判断个位
count++;
num/=10;//去掉个位,得到下一个数
return count;
void main()
int num,i,sum=1;
printf("Please insert the value of num:");
scanf("%d",&num);
for(i=2;i<=num;i++)
sum+=count(i);//循环得到每一个数字中字符'1'的个数
printf("the tatol '1' is:%d\n",sum);
参考技术D /*用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);
怎样用C语言判断一个整数中有没有重复的数
用C语言判断一个整数中有没有重复的数的具体操作步骤如下:
1、编写头函数:#include <stdio.h>。
2、编写中间的条件:
int main(void)
int n,i;
int num[10] = 0;
scanf("%d", &n);
do
num[n%10]++;
while((n = n/10) != 0 );
3、最后编写条件与结果即可:
for(i = 0; i < 10; i++)
if(num[i] >= 2)
printf("repeat\\n");
break;
if(i == 10)
printf("no repeat\\n");
return 0;
参考技术A#include<stdio.h>
int main()
int x,x1,t,a[10]=0;
scanf("%d",&x);
x1=x;
for(;x;x/=10)
t=x%10;
if(a[t])printf("%d中%d重复了\\n",x1,t); return 0;
else a[t]=1;
printf("%d中没有重复的数字\\n",x1);
return 0;
参考技术B 逐位读取,存储状态以上是关于用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数的主要内容,如果未能解决你的问题,请参考以下文章
求C语言程序,从1~2012中取k个数,取出的数中任意两个数之差不能为5或8,求k的最大值