C语言:多个int a1,a2,…an都在(0,9)之间,求方法表示一个n位数,第n位是a1,第二位是an-1,或反之
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/21 13:43:07
C语言:多个int a1,a2,…an都在(0,9)之间,求方法表示一个n位数,第n位是a1,第二位是an-1,或反之
如题.比如a1 = 2 ; a2 = 5; a3 = 4;就可以组成一个数254,显然a1a2a3是不可以的.而且由于n的数量是不定的.不能用a1*100+a2*10+a3*1,虽然反过来可以,但是我用getchar(),数字读取的顺序是不能倒过来的.
而且我也不想用loop(循环).c语言里有没有什么函数简化这个表示过程.
还要再补充一下,不允许用数组.
如题.比如a1 = 2 ; a2 = 5; a3 = 4;就可以组成一个数254,显然a1a2a3是不可以的.而且由于n的数量是不定的.不能用a1*100+a2*10+a3*1,虽然反过来可以,但是我用getchar(),数字读取的顺序是不能倒过来的.
而且我也不想用loop(循环).c语言里有没有什么函数简化这个表示过程.
还要再补充一下,不允许用数组.
不太明白你的描述,假如像你所说,使用getchar()顺序读取数值,完全可以先记录在一个不定长数组或者是链表中,等getchar()读取完所有数值之后,便知道N是多少,这个时候再使用循环将数字表示出来即可.
再问: 谢谢,忘记说了,不允许用数组。 能帮我看一下这一段程序的问题: #include int main() { int a,b=0; a=getchar(); while(0
再问: 谢谢,忘记说了,不允许用数组。 能帮我看一下这一段程序的问题: #include int main() { int a,b=0; a=getchar(); while(0
已知数列{an}中,a1=2,an+1=an+cn(c是不为0的常数,n∈N*),a1,a2,a3成等比数列,求{an}
An=C(1,n)a1+C(2,n)a2+…C(n,n)an,
在数列{an}中,已知a1=5且n大于等于2时,an=a1+a2+…+an-1 (n-1是下标) (1) 求an (2)
设a1,a2…an是1,2…,n的一个排列,求证1/2+2/3+..+(n-1)/n≤a1/a2+a2/a3+...+a
已知数列an,构造一个新数列:a1,(a2-a1),(a3-a2),…,(an-a n-1)PS:这个n-1是a的下标.
证明:N维向量组a1,a2.an线性无关的充分必要条件是任意n维向量都可以表示为a1,a2.an的线性组合.
设A1,A2,A3…,An是常数(n是大于1的整数,且A1
C语言递推法求等差数列An=An-1,A1=0?求数列 中的第n项
求n阶行列式对角线是a1+c,a2+c,a3+c.an+c,其余各竖行依次是a1,a2,a3.an
若a1,a2,…,an是1,2,…,n的任意一个排列(n是奇数),则(a1-1)(a2-2)…(an-n)是偶数.
在公式an=a1+(n-1)d中.若a1、d、an为已知数,求n(用含a1、d、an的代数式表示n)
在数列{an}中,已知(a1+a2+…+an)/n=(2n-1)an