重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
顶一下我也想知道……
公司主营业务:成都网站制作、成都做网站、外贸营销网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出金华免费做网站回馈大家。
但是我这也有一种方法,但是不知道你做得来否
我想说的方法就是:把数值串的改成数组比如:a[n],b[n],c[n],n表示小数的位数,这样a[1]-a[n]就表示出这个小数各个位数代表的数
然后,就是模拟计算原理,用循环或者while语句,从最底位开始相乘,给程序设置进位函数,判断出每次相乘该向上一级加上的数值并把这次得到这这个相应的第n位的值给新的x[n],然后一级一级往上推~~~算出最后x[1]-x[n],再最后整合一下这组数最后整理成数字,但是也许没办法输出,因为小数位太长,最后可能还是的用字符一个一个输出
如果是用字符输出就更容易了,直接把x[1]-x[n]输出就可以(x数组表示的是小数位的,整数位的还得设置个新的,比如x[0]),比如你这次输出的结果应该就是x[0].x[1]x[2]x[3]……x[n],
呵呵~不知道你理解我的意思没有~感觉我也是菜鸟很高兴和探讨这问题
int a,b,c,n;
scanf("%d",n);
个位数a=n%10
十位数b=(n-a)%100
百位数c=(n-a-b)%1000
c语言有个运算符号是%,就是求取两个数相除之后的余数。如果x%10的运算就是求取x的十进制个位数,利用这点可以提取数位,只是提取的顺序是反向的,是从最低位到最高位顺序:
#includestdio.h
void main() { int x;
scanf("%d",x); while ( x ) { printf("%d ",x%10); x/=10; } printf("\n");
}
#include stdio.h
#include "math.h"
void main()
{
int num, n;
printf ("请输入一个数字:");
scanf ("%d", num);
do
{
printf ("请输入位置(小于等于位数):");
scanf ("%d", n);
}while (!(num / pow(10, n)));
printf ("第%d位的数字为%d\n", n, num % pow(10, n) / pow(10, n - 1));
}