A. C语言 编写一个程序,输入一个正整数,求出它是几位数。
求一个正整数n的位数可以先定义一个变量num,并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。
#include <stdio.h>
int main()
{
int n,num=0;
scanf("%d",&n);
while(n){
num++;
n/=10;
}
printf("%d ",num);
return 0;
}
/*
输出:
123456
6
*/
(1)编程如何输入一个整数扩展阅读:
正整数,即大于0的整数,如,1,2,3…
0既不是正整数,也不是负整数(0是整数)。
负整数,即小于0的整数,如,-1,-2,-3…
知道正整数的一种分类办法是按照其约数或积因子的多少来划分的,比如仅仅有两个的(当然我们总是多余地强调这两个是1和其本身),就称之为质数或素数,而多于两个的就称之为合数。
B. 如何用C语言编写程序输入一个正整数n,编程序输出从2到n间的所有完数。
C语言实现如下:
#include<stdio.h>
void main()
{
int i,j,k,n;
scanf("%d",&n); //输入一个正整数n
for(i=2;i<=n;i++)
{
k=0;
for(j=1;j<=i-1;j++)
if(i%j==0) k+=j;
if(k==i) printf("%d\n",i);
//判断i的所有真因子之和是否等于i,是则输出i。
}
}
注意:建议n的取值小于10000,否则程序运行的时间将比较长。
知识扩展:完数,一般指完全数,一个自然数如果它的所有真因子(即除了自身以外的约数)的和等于该数,那么这个数就是完全数,如:6的真因子有1
、2、3,6=1+2+3,所以6是一个完全数。
C. C语言 编写一个程序,输入一个正整数,求出它是几位数。
/*功能:输入一个任意长度的正整数,求出它是几位数。*/
#include<stdio.h>
int main()
{
int number; int count = 0;//记录个数
scanf("%d", &number);
if (number == 0)
{
printf("number is %d\n",count+1);//0是一位数
} else
{
while (number != 0)
{
number = number / 10;
count++;
} printf("number is %d", count);
} return 0;
}
D. 用C语言编写程序从键盘输入一个正整数数n,输出n!
编程实现计算n!,也就是n*(n-1)*(n-2)*....*1,可以通过递归函数来实现,具体实现方法:
#include <stdio.h>
int Func(int n)
{
if(n < 2)
return 1;
else
return n*Func(n-1);
}
void main()
{
int n =0,m=0;
printf("请输入一个正整数:")
scanf("%d",&n);
m=Func(n);
printf("%d!=%d
",n,m);
}
在以上程序代码中,Func()为递归函数,主函数main()中接收键盘输入整数值后,调用Func()递归函数,首层m=n*(n-1)!,继续递归调用,m=n*(n-1)(n-2)!,这样逐层递归,直到计算出N!。
程序输出结果如下:
(4)编程如何输入一个整数扩展阅读:
所谓n的阶乘就是从1到n的乘积,所以除了递归法来实现以外,其实我们也可以通过一个for循环,从1到n依次求积同样可以达到计算n!的目地。
具体实现代码如下:
#include <stdio.h>
int main() {
int n,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循环求累积
s=s*i;
printf("%d ",s);
return 0;
}
/*
运行结果:(例如求5的阶乘)
5
120
*/
E. C语言编程,从键盘输入一个6位整数,输出该整数的后3位数值。(ps:例如,对于6位整数342071
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n );
printf("%d ", n%1000 );
return 0;
}
如果不用log函数,并假设输入的数indata是非负整数,则可以如下:
int n, s;
n = 0;
s = 0;
while ( indata ) {
n++;
s += indata % 10;
indata /= 10;
}
位数在权n中,和在s中。
(5)编程如何输入一个整数扩展阅读:
C程序是由一组变量或是函数的外部对象组成的。 函数是一个自我包含的完成一定相关功能的执行代码段。我们可以把函数看成一个“黑盒子”,只要将数据送进去就能得到结果,而函数内部究竟是如何工作的,外部程序是不知道的。
C程序中函数的数目实际上是不限的,如果说有什么限制的话,那就是,一个C程序中必须至少有一个函数,而且其中必须有一个并且仅有一个以main为名的函数,这个函数称为主函数,整个程序从这个主函数开始执行。
F. C语言如何输入一个整数或一个26进制数字符串
int main(){
int a;
scanf("%p",&a);//16进制数输入%p是输入一个十六进制的数scanf("%llx",&a);也可以输入十六进制并且比较正规
printf("%d",a);//十进制输出%d是输出一个十进制的数
printf("0x%x",a);//16进制输出printf("%llX\n",a);也可输出一个十六进制数如果红色部分大写X则输出十六进制为大写字母否则小写x输出为小写字母
}
G. 编写程序,任意输入一个正整数,输出其各位数字重排后最小的整数。 例如: 输入:2017输出127
一行就能完成的,你们这样忽悠题主真的好吗#include <stdio.h>
int main(int c,char** p)
{
return (c=getchar())!=EOF?main(c,p),putchar(c),0:0;
}
H. 如何用Python编程输入一个多位整数,从高位到低位依次输出该整数每个数位上的
依次输出,那就是一个一个输出,那么用for循环遍历字符串最方便。
输出格式是一行,每个数字间用空格隔开,如果你是一行输出一个数字,输出换成print(i)。
I. c语言如何编程,能够输入一个整数,得到该整数十位上的数字
假设输入的整数放到变量x中,则语句x/10%10即是十位上的数字,代码如下:
#include <stdio.h>
int main(void)
{
int x;
printf("输入一个整数:");
scanf("%d",&x);
printf("%d的十位上的数字是:%d\n",x,x/10%10);
return 0;
}