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