當前位置:首頁 » 編程語言 » c語言求一個數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言求一個數

發布時間: 2023-02-27 06:45:03

c語言編程問題 如何求一個數字的長度

#include<stdio.h>
#include<string.h>
voidmain()
{
intn;
charstr[50]={''};
printf("請輸入一個多位數:");
gets_s(str);
n=strlen(str);
printf(" %d ",n);
}

運行示例:

② 有沒有大神能指點c語言如何用自定義函數求一個數的位數 謝謝大神

#include <stdio.h>
int wei(int num)
{
    int n=1;
    while(num/10)
    {
        n++;
        num = num / 10;
    }
    return n;
}
int main()
{
    int a=100,b=1000,c=10000;
    printf("%d:%d %d:%d %d:%d ",a,wei(a),b,wei(b),c,wei(c));
    return 0;
}

③ 用c語言求一個數的所有因子

#include <stdio.h>

# include <stdlib.h>

#define N 100

long factor(int m,int fac[],int *cp){

int c1,c2,i,k;

long s;

fac[0]=1;

for(c1=s=1,c2=N-1,i=2;;){

k=m/i;

if(m%i==0){

if(i!=k){

fac[c1++]=i;

fac[c2--]=k;

s+=i+k;

printf("i=%d k=%d ",i,k);

}else{

fac[c1++]=i;

s+=i;

}

}

i++;

if(i>=k) break;//這個時候k已經開始等於自身的根號,或者將要出現和之前k對稱的i,引起自身重復故退出

}

for(c2++;c2<=N-1;c2++){

fac[c1++]=fac[c2];

printf("%s %d ","**",fac[c2]);

}

*cp=c1;

return s;

}

int main(int argc, char const *argv[])

{

/* code */

int factors[N],i,count;

long sum;

sum = factor(atoi(argv[1]),factors,&count);

for(i=0;i<count;i++){

printf("%5d",factors[i]);

}

printf(" ");

printf("sum=%5ld count=%5d ",sum,count);

return 0;

}

(3)c語言求一個數擴展閱讀:

有一種說法是「因子不限正負」,不過通常情況下只取正因子。

1, -1, n 和 -n 這些數叫做 n 的明顯因子

表示方法:可以用因子|倍數或倍數≡0 (mod 因子) 來表達(參見同餘),但用後者時因子一定要是正因子。因子∣倍數式中的垂直線是整除符號。它的統一碼值是 U+2223。

例如 42=6x7,因此 7 是 42 的因子,寫作 7∣42,亦是42≡0(mod 7)。



④ C語言求一個數是幾位數

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{int x,w,i;
cout<<"輸入一個數不多於5位";
cin>>x;
if (x>=99999||x<0)
{cout<<"error";
return 0;}
else if (x>=10000)
{w=5;cout<<x<<"是5位數";}
else if (x>=1000)
{w=4;cout<<x<<"是4位數";}
else if (x>=100)
{w=3;cout<<x<<"是3位數";}
else if (x>=10)
{w=2;cout<<x<<"是2位數";}
else
{w=1;cout<<x<<"是1位數";}
//////////////////////////
int a[5];
for (i=1;i<=w;i++)
{a[i-1]=x%10;
x=x/10;}
for (i=1;i<=w;i++)
{cout<<setw(5)<<a[w-i];}
cout<<endl;
//////////////////
int sm=0;
for (i=1;i<=w;i++)
{sm=sm*10+a[i-1];}
cout<<sm;
return 1;
}

⑤ c語言 求一個數的n次方

只需循環累乘即可。

#include<stdio.h>

doublepow(doublex,intn)
{
if(n==0)//為零則為1
return1;
doublenum=1;
while(n--)//循環累乘
num*=x;
returnnum;
}

intmain()
{
printf("%d^%d=%lf ",2,8,pow(2,8));
printf("%d^%d=%lf ",5,3,pow(5,3));
return0;
}

⑥ 求一個數是幾位數的C語言程序

inta;
scanf("%d",&a);
intsum=0;//a的位數
if(!a)
sum=1;//0的位數是1
while(a){
a/=10;
++sum;
}
printf("%d",sum);