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

c語言中的五位數怎麼求

發布時間: 2022-07-06 17:18:27

c語言輸出一個五位數,萬位和百位數字一樣,前三位數字和為9,後兩位

#defineGET_BIT(num,n)(num/n%10)
intmain()
{
inti;
for(i=10000;i<99999;i++){
if(GET_BIT(i,10000)==GET_BIT(i,100)&&
GET_BIT(i,10000)*2+GET_BIT(i,1000)==9&&
GET_BIT(i,10)+GET_BIT(i,1)==8
){
printf("%d",i);
}
}
return0;
}

⑵ c語言求助,接受用戶輸入一個5位數,求個位,十位,百位,千位,萬位的和。運行效果如下 請輸入一個五位

#include <stdio.h>
int main()
{
int a, i;
int m = 0; //五位數之和
printf("請輸入一個五位數:");
scanf( "%d", &a);
for( i=10000; ; i /=10)
{
m += a / i;
a %= i;
if( i == 1)
{
break;
}
}

printf("和是 %d\n", m);
return 0;
}

⑶ 輸入一個五位的正整數,求各位數字之和 怎麼用C語言寫

#include<stdio.h>
main()
{
int a,b,c,d,e,n;
printf("請輸入一個五位數:");
scanf("%d",&n);
a=n/10000;n=n%10000;
b=n/1000;n=n%1000;
c=n/100;n=n%100;
d=n/10;n=n%10;
e=n;
printf("五個位數之和為:%d\n",a+b+c+d+e);
}
這個答案夠簡單了吧,一目瞭然!!!

⑷ c語言 五位數 求位數 各位數是什麼

C語言屬於高級編程語言。
五位數,求位數,個位數。
int main()


int num = 0; // 輸入數

int bcount = 0; //位數
int wnum = 0 ; // 萬位
int qnum = 0; // 千位

int bnum = 0; // 百位

int snum = 0; // 十位

int gnum = 0; // 個位
printf(「請輸入一個五位數:」);

scanf("%d",&num);

if(num > 99999)

{
printf("輸入的不是一個五位數,請重新輸入。\n")。

return -1;

}

if(num >= 10000)

{
bcount = 5;

}

esle if(num >= 1000 )

{
bcount = 4;

}

else if ( num >= 100)

{
bcount = 3;

}

else if (num >= 10)

{
bcount = 2;

}

esle

bcount = 1;

wnum = num/10000;

qnum = (num / 1000) %10;

bnum = (num / 100) %10;

snum = (num / 10) % 10;

gnum = num %10;

printf("%d的位數為%的,萬位為%d,千位為%d,百位為%d,十位為%d,個位為%d.\n",num,bcount,wnum,qnum,bnum,snum,gnum);

return 0;

⑸ C語言編程:對於輸入的一個五位數,求出其每位上的數字,並輸出,每兩位之間用空格隔開。

main( )
{
long a, b, c, d, e, x;
scanf("%ld", &x);
a = x / 10000; /* 分解出萬位 */
b = x % 10000 / 1000; /* 分解出千位 */
c = x % 1000 / 100; /* 分解出百位 */
d = x % 100 / 10; /* 分解出十位 */
e = x % 10; /* 分解出個位 */
if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n", e, d, c, b, a);
else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n", e, d, c, b);
else if (c!=0) printf(" there are 3, %ld %ld %ld\n", e, d, c);
else if (d!=0) printf("there are 2, %ld %ld\n", e, d);
else if (e!=0) printf(" there are 1, %ld\n", e);
}

⑹ 正整數 5位 用c語言編程 謝謝

#include <iostream>
#include "stdlib.h"
using namespace std;

void main()
{
char cBufBit[33];
//int iInteger;
double iInteger; //這樣可以多輸幾位,:-),不過這樣也就只能20位
int iBitNum = 0;
int i,j;

cout<<"請輸入一個正整數:";
cin>>iInteger;

sprintf(cBufBit, "%0.0f", iInteger);

for (i = 0;;i ++)
{
if (cBufBit[i] !='\0')
iBitNum ++;
else
break;
}
cout<<endl<<"您所輸入的整數位數為:"<<iBitNum<<endl;

cout<<"正序輸出您所輸入的整數各位:";
for (j = 0; j < i;j ++)
cout<<cBufBit[j];

cout<<endl<<"倒序輸出您所輸入的整數各位:";
for (j = i-1; j >= 0; j --)
cout<< cBufBit[j];

cout<<endl<<endl;

⑺ 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;
}

⑻ 個位數是6,且能被3整除的五位數共有多少個怎麼用c語言寫

方法有很多,基礎方式為窮舉, 對每個五位數,都做一次判斷。

優化方法, 可以根據各種數學原理進行優化。

1 最基礎的窮舉法。

遍歷所有五位數, 如果滿足個位數為6,且能被3整除,則累加。

代碼:

#include<stdio.h>
intmain()
{
inti;//用來遍歷
intcnt=0;//記錄個數。
for(i=10000;i<=99999;i++)//遍歷所有五位數。
{
if(i%3==0&&i%10==6)//符合條件
cnt++;//累加
}
printf("%d ",cnt);//輸出結果。
return0;
}

2 由於要求個位數為6,這樣可以僅遍歷個位是6的。

也就是從10006開始,每次自加10, 遍歷次數減少90%,同時,需要判斷的條件減少為一個。

代碼

#include<stdio.h>
intmain()
{
inti;//用來遍歷
intcnt=0;//記錄個數。
for(i=10006;i<=99999;i+=10)//遍歷所有個位為6的五位數。
{
if(i%3==0)//只需判斷3的倍數即可。
cnt++;//累加
}
printf("%d ",cnt);//輸出結果。
return0;
}

3 再優化一下。 直接遍歷3的倍數,且個位為6的數。

從數學原理,可以得知, 這樣的數,每30個中出現一個。

第一個符合要求的為10026

於是代碼可以優化為

#include<stdio.h>
intmain()
{
inti;//用來遍歷
intcnt=0;//記錄個數。
for(i=10026;i<=99999;i+=30)//直接遍歷符合要求的五位數。
{
cnt++;//無需判斷,直接累加
}
printf("%d ",cnt);//輸出結果。
return0;
}

4 最後,根據數學原理,直接計算個數並輸出。

第一個符合要求的是10026, 最後一個是99996,每30個數出現一個,總數就是

(99996-10026)/30+1

於是直接輸出

#include<stdio.h>
intmain()
{
printf("%d ",(99996-10026)/30+1);//輸出結果。
return0;
}

這種方法, 代碼量最小,但這樣會把一個C語言題目,轉為數學題目,在實際C語言練習中,不推薦使用。

⑼ c語言中怎樣用指針求出五位數各位上的數

#include <stdio.h>
#include <stdlib.h>

void main()
{
int *p,num,i;
printf("input a number: ");
scanf("%d",&num);
p=#
while(*p)
{
i=(*p)%10;
*p/=10;
printf("%d\n",i);
}
}