考研编程:10.11 回文数 水仙花 生成一定范围内的随机数 求二叉树宽度

回文数
#include <stdio.h>

int main(){
	 int a,b,c=0,sum;
	 scanf("%d",&a);
	 b=a;
	 while(b!=0){
	 	c = b%10 + c*10;
	 	b = b/10;
	 }
	 if(c==a){
	 	printf("yes");
	 }
	return 0;
}
水仙花
#include <stdio.h>
#include <math.h>
int main(){
	 int a,b,c=0,sum;
	 scanf("%d",&a);
	 b = a;
	 while(b>0){
	 	c = c + pow(b%10,3);
		 b = b/10; 
	 }
	 if(c==a){
	 	printf("yes");
	 }
	return 0;
}
生成一定范围内的随机数

C语言:生成随机数(并非固定的随机数)——rand()、srand()_c语言生成随机数-CSDN博客

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){
	int a;
	srand(unsigned(time(NULL)));
	a = (rand()%100)+1;
	printf("%d",a);
	return 0;
}
求二叉树的最大宽度

1.队列修改:修改了rear和front的指代意思,当front指向一个数组下标的时候的意思是这个元素已经从队列中出去了

2.这个二叉树的插入,我们用户的输入就是输入一个带#号的二叉树的先序序列如图

void List(TreeNode* T){
	q[++rear] = T;
	int max = 0;
	int sum[100]={0};
	int level = 1;
	int r = 0;
	while(!IsEmpty()){
		TreeNode *p = q[++front]; 
		if(p->lChild!=NULL){
			q[++rear]=p->lChild;
		}
		if(p->rChild!=NULL){
			q[++rear]=p->rChild;
		}
		sum[level]++;
		printf("判断之前%c r=%d e=%d b=%d level=%d\n",p->data,r,rear,front,level);
        if(front==r){
        	level++;
        	r = rear;
		}
		printf(" %c r=%d e=%d b=%d level=%d\n",p->data,r,rear,front,level);
	}
	printf("\n");
	for(int i=1;sum[i]!=0;i++){
		if(sum[i]>max){
			max = sum[i];
		}
	}
    printf("%d",max);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值