编写一个函数,返回一个整数的位数

作者&投稿:暨胀 (若有异议请与网页底部的电邮联系)
编写函数返回一个整数的位数并用主函数调用该函数,注意函数应首先测试给出的整数~

一个整数的位数函数:(假设A1为此整数)B1中输入:
=if(int(A1)=A1,len(A1),"非整数")
调用此函数,在C1中输入:
=B1
或用其它函数调用,例如:
=sqrt(B1)

#include
using std::cout;
using std::endl;

#include
using std::stringstream;

#include
using std::string;

int digitCount(int n) {
n = n > 0 ? n : -n;
stringstream ss;
ss << n;
string s;
ss >> s;
return s.size();
}

int main() {
cout << digitCount(123) << endl;
cout << digitCount(-4567) << endl;
cout << digitCount(0) << endl;

return 0;
}

它定义了一个函数int digit(int n),用来返回一个整数n的位数。在main函数中,输入一个整数并调用digit函数,输出结果。

#include <stdio.h>
//定义一个函数int digit(int n),用来返回一个整数n的位数
int digit(int n){
int count = 0; //定义一个计数器,初始值为0
while(n != 0){ //当n不等于0时,循环执行以下操作
n = n / 10; //将n除以10,并赋值给n
count++; //计数器加一
}
return count; //返回计数器的值
}
//主函数
int main(){
int num; //定义一个整型变量num,用来存储输入的整数
printf("请输入一个整数:\n"); //提示用户输入一个整数
scanf("%d", &num); //从标准输入读取一个整数,并赋值给num
printf("这个整数有%d位。\n", digit(num)); //调用digit函数,并输出结果
return 0; //程序正常结束,返回0
}

Private Function GetWei(ByVal Int_A As Long) As Integer
GetWei = Len(Replace(Str(Int_A), " ", ""))
End Function

C语言:
public int getwei(int Inta){
return (inta+"").Length;
}

public int GetLenght(int num){
return (num+"").Length;
}


设计一个函数用于判断一个数是否为素数,如果是素数返回1,否则返回0
,num); } return 0;}int isss(int num)\/\/判断是否是素数 是返回1 否返回0{ int i; if(num==0||num==1) return 0; for(i=2;i<num;i++) { if(num%i==0) return 0; } return 1;}

Python写一个函数,判断传一个数据是正数,负数,还是0,是正数返回1,负数...
def text()key = int(input('请输入一个数:'))正数 if key > 0:print(1)负数 elif key < 0:print(-1)0 else:print(0)

C语言函数中怎么返回一个二维数组
1、我们首先定义一个二级指针和一个行列变量[int ** array,row,column;]。2、然后我们编写进入行和列的语句,代码如图所示。3、接下来我们可以用一维数组打开一维一维数组。4、接下来,我们使用[array [i] =(int *)malloc(sizeof(int)* column);]来为数组再次生成包含该数组的新数组。5、...

重写下面的函数,使其返回下一个非空白字符而不仅仅是下一个字符。
你可以再加。char get_first(void){int ch;while(1){ ch=getchar(); if(ch!=' ' && ch!= '\\t' && ch != '\\n') break;\/\/非空白字符退出循环。 }while(getchar()!='\\n');\/\/ continue;\/\/其实这个continue没什么意义。上面加一个分号就好。 return ch;} ...

C语言如何声明一个返回函数指针的函数?
C语言指向函数的指针承载的信息比较复杂,组织起来要素要写全。根据指向函数的指针的书写语法,下面的代码就是一个返回函数指针的函数:int (*f(void))(int){\/\/f是函数,没有参数,返回指向一个函数的指针;这个被指向的函数有一个int型形参,且返回一个int值 return fun;\/\/fun是个函数名,必须...

怎么用同一个函数返回两种不同类型的数据,例如这个函数既能返回字符又...
用return之可以返回一个,若想得到两个 可以多传个指针。看下面这个程序#include <stdio.h>int max(int *ar); \/\/可以这样返回数组ar中最大数的位置int max_min(int *ar, int *Minlocation); \/\/如果想同时得到最小值的位置 可以这样定义 int main(void){ int ar[]; ... ...

EXCEL:if函数,满足条件1,返回一个值,满足条件2,返回另一值。若返回值...
你如果真的想实现在D3不为11...77值时,返回FALSE值,就只好在公式2或3的外围再嵌套一个IF函数 =IF(AND(D3=11,D3=22,D3=33,D3=44,D3=55,D3=66,D3=77),公式3)最终公式为 =Max(0,IF(AJ3=0,0,IF(AM3<=100%,AJ3,VLOOKUP(D3,{11,R3-(U3+U4-AJ3-AJ4);22,R3-(U3+U4+U5...

如何用MATCH函数返回单元格的下一个值?
3.将C2单元格向下填充到到C9,这样C列就返回了想要的结果。4.在自己表格中根据上述公式做示例,可能会在最后一个单元格出现错误值,如下图所示:5.解决方法:在A列数据下面的一个单元格,本例是A10单元格,输入一个空格或者其他字符,这样是为了使MATCH()函数在最后一个判断时有匹配结果,从而避免...

...奇数还是偶数的函数,如果是奇数,则函数返回值为1,如果?
判断奇偶函数可以用 ISODD 和 ISEVEN ISODD :如果参数 number 为奇数,返回 TRUE,否则返回 FALSE ISEVEN :如果参数 number 为偶数,返回 TRUE,否则返回 FALSE 求[777,4444]区间偶数的和可以用如下嵌套公式组合 组合一:=SUMPRODUCT(ISEVEN(ROW(777:4444))*1,ROW(777:4444))组合二:=SUMPRODUCT(1-...

假设现在有一个函数random(), n为未知数,1\/n的概率返回0,2\/n的概率...
)=1\/2 这就算出t了.对一般的情形,t有没有更简单的表示式呢?注意到系数是c(i,n)倒数的连加.我不知道.我试了一下,这类式子的一般解,确实能找到比较好的递推公式 h(n+1)=h(n)+(2^(n+1))\/n+2 h是与系数序列T(n)相关的适当的函数(数列).但这就很难继续化简了 ...

安县19162092334: 编写一个求整数位数的函数,并给出完整代码 -
驹亭塞莱: int len(int n) { int k=0; while(n!=0) { n=n/10; k++; } return(k); }

安县19162092334: 设计一个函数,判断任一整数是否为回文数并计算该整数的位数. -
驹亭塞莱:[答案] 也不懂时间复杂度,只是说一个方法,不知是否可行. ①限定一个一亿位数,这个够了吧? ②将这个数mod 10,结果即为个位数,设为a1,同时赋值为b1; 将这个数mod 100,结果即为后两位数,设为a2,再减去10a1,同时赋值为b2; 将这个数...

安县19162092334: 编写一个函数,实现随机输入一个整数,计算出该整数的位数并输出. -
驹亭塞莱:#include using namespace std; int count(int n) {int i=0;if(n==0)return 1;while(n!=0){n=n/10;i++;}return i; } void main() {int n;cout cin>>n;cout}

安县19162092334: 用C/C++写一个函数,计算一个整数的位数 -
驹亭塞莱: int number = 0x012D; int radix = 10; //十进位,可以是16或者其他进制 int bits = 0; do { number = number/radix; bits ++; } while(number > 0);//bits 就是位数

安县19162092334: 编写函数f(int n)用来统计正整数n的位数(例如,n=123时函数返回3) -
驹亭塞莱: 求正整数n的位数,可以直接对n进行连续除以10来实现.具体程序如下:#include <stdio.h> int f(unsigned int n) {int i=0;while(n<0){i++; // 如果n的值不为0,则位数加1 n = n/10; // 去掉最低位,次低位变为最低位 }return i; // 返回正整数n的位数 } void main() {unsigned int a;scanf("%d", &a); // 接受用户输入的正整数 printf("正整数 %d 的位数为:%d", a, f(a)); // 输出正整数的位数 }

安县19162092334: 【递归函数设计】编写一个递归函数,计算一个整数的位数. -
驹亭塞莱: #include int fun(int c){ if(c==0) return 0; return 1+fun(c/10); } int main() { int c; scanf("%d",&c); printf("%d\n",fun(c)); return 0; } /*运行结果: 12345 5 */

安县19162092334: 用VB编写一个function过程,用来确定一个正整数的位数,比如106是3位数,26是2位数;利用上述过程将一个正整数逆序输出,例如输入8025,则输出5208;输入825,则输出528. -
驹亭塞莱: Function a(i As Integer) As String Dim s As String If i < 10 Then a = CStr(i) Else s = CStr(i) a = a(CInt(Mid(s, 2))) & Left(s, 1) End If End Function

安县19162092334: C语言有没有函数可以求一个正整数的位数 -
驹亭塞莱: 用log10这个函数,这个是以10为底的对数,返回的结果就是他有10的多少次方

安县19162092334: 编写一个程序,从屏幕上输入一个整数,然后求出这个整数是几位数.
驹亭塞莱:public void init(){ Scanner sc = new Scanner(System.in); System.out.println("请输入一个数:"); int num = sc.nextInt(); int i = 0; do { i++; num = num/10; }while(num != 0); System.out.println("你输入的是:"+i+"位数"); }

安县19162092334: 用c/c++编写: 输入一个数,求它的整数位数. 输入一个数,求它的小数位数 -
驹亭塞莱: #include<stdio.h> void main(){ char c; int i=0,f=0,flag=0; while((c=getchar())!='\n'){ if(c=='.') flag=1; if(!flag) i++; else f++; } printf("整数%d,小数%d",i,f-1); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网