11.8输入一个整数,求它是几位数

#include<stdio.h>
main()
{
	int a,i,y;
	scanf("%d",&a);
	for(i=0;a;i++)
		a=a/10;
	y=i;
	printf("y=%d\n",y);

}

456
y=3

  正确使用for,要简洁

时间: 2025-01-15 12:56:49

11.8输入一个整数,求它是几位数的相关文章

输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数

题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 分析:首先最先想到的是遍历从1到n的每个数,判断每个数中包含1的个数,再相加. 时间复杂度:如果输入数字为n,n有O(logn)位,我们需要判断每个数字的每一位是不是为1,所以时间复杂度为O(n*logn).如果输入数字很大的时候,就需要大量的计算,效率不高. 接下来观察规律: 从个位到最高位,我们判断每一位1出现的次数.比如 对于数2

【微软100题】输入一个整数,求该整数的二进制表达中有多少个1

package test; /** 整数的二进制表示中1的个数 题目:输入一个整数,求该整数的二进制表达中有多少个1. 例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 分析: 方法一:把十进制转换成二进制字符数组,遍历该数组,判断1的个数. 方法二:对于一个int n, n&1的结果就是n转化成二进制数后的最后一位的结果.考察了位运算 包括微软在内的很多公司都曾采用过这道题. * @author Zealot * */ public class MS_28 { private

【C语言】输入一个整数,求它的原码,反码,补码值

1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int m,n,a[10],i=0,y[100],f[100],b[100],j,k; 6 printf("请输入一个整数:"); 7 scanf("%d",&n); 8 m=abs(n); 9 while (m!=0) 10 { 11 a[i]=m%2; 12 m=m/2; 13 i=i+1; 14 } 15 if (

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数. 附加源代码1: #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int input;//键盘输入一个整数input int i,j;//i,j待会儿存放input与左边和右边的为2^n的差值 int m,n;//保存左边,右边的与inout最接近的2^n printf("请

【c语言】输入一组整数,求出最大子序列的和

// 输入一组整数,求出最大子序列的和. // 例如:序列: - 2 11 - 4 13 - 5 - 2,则最大子序列和为20. // 序列: - 6 2 4 - 7 5 3 2 - 1 6 - 9 10 - 2,则最大子序列和为16 #include <stdio.h> int Max_Son(int *p, int len) { int Max_Sum = 0; int i, j; for (i = 0; i < len; ++i) { int sum = 0; for (j = i

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

//定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j: //若X在此数组中,则返回数组中这个数的位置. 源代码: #include<iostream> using namespace std; void main() { int array[]={1,2,3,4,5,6,7,89,45,32,56,78,12,43,90,19};//16个数字 int x; int max=array[0]; int min=array[0]

22、输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: n &(n-1)把n的最右边的1去掉,用count++计算1的个数  eg: 101 & 100 = 100   1 class Solution { 2 public: 3 int NumberOf1(int n) { 4 int count = 0; 5             while(n!=0){ 6                 count++; 7                 n = n&

输入一个整数,要求不管输入什么,程序都不会崩溃

用到异常处理机制的输入成绩保证程序健壮性的代码 1.编写一个程序,此程序在运行时要求用户输入一个整数,代表某门课的考试成绩,程序接着给出“不及格”.“及格”.“中”.“良”.“优”的结论. 2.要求程序必须具备足够的健壮性,不管用户输入什么样的内容,都不会崩溃. 用到了异常处理机制 import java.util.Scanner; /*编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,2015.11.12底云飞 *程序接着给出“不及格”.“及格”.“中”.“良”.“优”

c语言代码编程题汇总 :从键盘上输入一个整数n,输出斐波纳猰数列——自己打的代码

从键盘上输入一个整数n,输出斐波纳猰数列 程序代码如下: 1 /* 2 2017年3月5日10:35:17 3 功能:n的阶乘采用的是递归方式实现 4 */ 5 6 #include "stdio.h" 7 long fun(int n) //注意此处的fun()是调用函数,两者之间没有空格 8 { 9 if (n > 1) //此处跳出递归的条件是当n = 1时 10 return (n * fun(n -1)); //当n的值满足条件或n = 2时程序还会执行该条语句 11