A. 汉诺塔c语言的问题

n=1时,就直接执行形参a到形参c(按照图片格式打印输出字符串就行了啊)。
其它情况按照递归,先通过c先把小的都移动到b,再把最大的移动到c,最后通过a把b所有盘移动到c。
最后输出就是你图中效果。

#include<stdio.h>

void doMove(int n,char x,char y);

void move(int n,char a,char b,char c);

int main()

{

int n;

scanf("%d",&n);

move(n,'A','B','C');

}

void move(int n,char a,char b,char c)

{

if(n==1)

doMove(n,a,c); //n==1个时直接从a移动到c

else

{

move(n-1,a,c,b); //通过c从a移动到b,移动n-1个盘子

doMove(n,a,c); //然后把要移动的最后一个也就是最大的一个移动到c

move(n-1,b,a,c); //最后通过a从b移动到c,移动n-1个盘

}

}

void doMove(int n,char x,char y)

{

printf("%c move %d号 ->%c ",x,n,y);

}

B. C语言 程序

四个空分别添
a[i]; i++;
b[j];j++;

C. C语言用这个FUN还有DO循环BN

这里打印的是fun(3,5) 和fun(12,8)的值
函数fun中
使用的是辗转相处福。
退出循环时的n值,为参数m n的最大公约数
而a b就是初始的m n值。
这样 返回的
a*b/n就是参数m n的最小公倍数。
于是
fun(3,5) = 15
fun(12,8)=24
输出为
15 24

D. 用c语言编辑bn=an异或bn-1,急!!答出来可支付宝五元!!!!

一般都得用数组完成。所以这一句可写成b[n]=a[n]^b[n-1];即可。其中a、b都是已定义的合法数组。

E. C语言WHILE这个BN不向B2

程序中 先输入一个x值,然后在x>0情况下,赋值b[++n]=x
然后输入下一个x
n初始为0,先自加后取值。
于是在题目输入下
b[1] ~b[6] 六个元素会被赋值为7 5 2 9 4 8
输出n值为6
输出b[2]值为5
然后 对i= 2 3 4 5 6循环
如果b[i]比b[p]小,则p=i
这样 b[p]就是b[1]到b[6]的最小值 ,也就是2
p=3
输出
p= 3b[p]= 2

F. c语言问题求解

#include
#include
using namespace std;
#define N 1000
#define INF 65535
typedef struct
{
int a[N];//记录多项式
int len;//记录多项式的长度
}Ploy;
void ADD(Ploy A,Ploy B,Ploy *M)
/*多项式A与多项式B相加,得到多项式M*/
{
int la=A.len,lb=B.len,i;
void PrintPloy1(Ploy A)
{
int i;
printf(" %dx^%d ",A.a[A.len],A.len);
for(i=A.len-1;i>=1;i--)
{
if(A.a[i]==0) ;
else if(A.a[i]==1) printf(" + x^%d ",i);
else if(A.a[i]==-1) printf(" - x^%d ",i);
else
{
if(A.a[i]>0)
printf("+ %dx^%d ",A.a[i],i);
else
printf("- %dx^%d ",-A.a[i],i);
}
}
if(A.a[0]==0) ;
else if(A.a[0]>0)
printf(" + %d",A.a[0]);//打印x的0次项
else
printf(" - %d",-A.a[0]);
printf("\n");
return ;
}
void PrintPloy2(Ploy A)
{
int i=0;
while(A.a[i]==0) ++i;
if(i==0) printf("%d",A.a[i]);
else {
if(A.a[i]==1) printf("x^%d",i);
else if(A.a[i]==-1) printf("-x^%d",i);
else printf("%dx^%d",A.a[i],i);}
for(++i;i1)
{
printf(" + %dx^%d",A.a[i],i);
}
else if(A.a[i]>id;
while(2)
{
if(id=='1')
{
ADD(A,B,&M);
printf("降幂输出请按1,升幂输出请2!\n");
cin>>sh;

}

G. 关于C语言中小数的保留问题

答案是B
n*100可以把第三位小数变成第一位小数
之后再+0.5的话,如果原来小数部分是大于等于0.5的话,那么整数部分就会加1,否则不变(符合四舍五入)
m = n*100+0.5可以把等号右边的数值的整数部分存下来,就是四舍五入后的结果
m/100.0是还原小数位到2位

H. c语言 正整数如何表示

假如等式结果是x
然后定义int y;
y取x的整数部分,y=x;
最后判断 if(( x-(float)y)== 0.000) // 减去整数部分,判断小数部分是否为0
如果等式成立,就是你要的结果

I. c语言如何实现bn=an异或bn-1

异或符号是 ^
其他的按照循环做就行
int a[100] ={……} ;
int b[100];
b[0]=……;
for (int i=1,i<100;i++)
{
b[i]=a[i]^b[i-1];
}