在c语言中一个三位数的个位 十位 百位怎么表示
unsigned int number; /* 代表那个三位数 */
unsigned char ge,shi,bai; /* 代表提取结果:个,十,百 */
例子:
说明:因为7!=5040>999,所以a,b,c必然小于7。当然也可以把循环条件设置为<=9,让电脑去坦首颂芹亮处理,不影响结果。
运算结果:
**三位阶乘和数有:145 **
#include<stdio.h>
long Fact(int n); /*自定义函数说明*/
void main()
{
int hundred, ten, one, m, n;
printf("三位阶乘和数有:");
for (hundred = 1;hundred <= 6;hundred++)
for (ten = 0;ten <= 6;ten++)
for (one = 0;one <= 6;one++)
{
m = hundred * 100 + ten * 10 + one;
n = Fact(hundred) + Fact(ten) + Fact(one);
if (m == n) /*阶乘和条件判别*/
printf("%d\n", n);
}
}
long Fact(int n)
{
int i;
long s = 1;
for (i = 1;i <= n;i++)
s *= i;
return(s);
}
拓展资料
作用:C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表让郑达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。
当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则显得十分重要。在学习中,对此合理进行分类,找出它们与数学中所学到运算之间的不同点之后,记住这些运算也就不困难了。
unsigned int number; /* 代表那个三位数 */
unsigned char ge,shi,bai; /* 代表提取结果:个,十,百 */
ge = (unsigned char)(number%10);
shi = (unsigned char)((number/10)%10);
bai = (unsigned char)((number/100)%10);
扩展资料:
特点:
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符前空型变量。局悔唤
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
参考桐凯资料:百度百科:C语言
unsigned char ge,shi,bai; /* 代表提取结果:个,橡正十,百 */迅宏
ge = (unsigned char)(number%10);
shi = (unsigned char)((number/10)%10);
bai = (unsigned char)((number/亩如册100)%10);
个位 (i%100)%10
十位 (i/10)%10
百位 i/100
#include<stdlib.h>
int main(){
int a;
while(scanf("%d",&a)!= EOF){
while(a>0){
printf("%d",a%10);
a = a/者山10;
}
printf("首庆中\差激n");
}
return 0;
}