⑴ 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);
}
}