当前位置:首页 » 编程语言 » 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);
}
}