16、输出九九乘法表
#include <stdio.h>
int main(){
int i,j,t;
for(i=1;i<=9;i++){
for(j=1:j<=9;j++)
printf("%dx%d=%-2d ",i,j,i*j);//%-2d表示占两位,若未占满就左对齐;%2d表示占两位,若未占满就右对齐
printf("\n");
}
return 0;
}
for i in range(1,10):
for j in range(1,i+1):
print("%dx%d=%-2d"%(i,j,i*j),end=" ")#%-2d表示占两位,若未占满就左对齐;%2d表示占两位,若未占满就右对齐
print()
17、水仙花数
#include <stdio.h>
#include <math.h>
int main(){
int i,k,sum=0;
for(i=100;i<=999;i++){
k=i;
sum=0;
while(k>0){
sum+=pow(k%10,3);
k/=10;
}
if(sum==i)
printf("%d ",i);
}
return 0;
}
# 方法一:
# import math
# for i in range(100,1000):
# k=i
# sum=0
# while k>0:
# # sum+=(k%10)**3 #与下边两种写法都可以
# sum+=math.pow((k%10),3)
# k//=10 #注意此处//表示向下取整,/表示保留小数
# if i == sum :
# print(i)
# 方法二:
def check_num(number:int):
total = sum([int(n)**3 for n in list(str(number))])
#sum()函数为python自带,参数为可迭代的,如列表,元组
#列表生成式[i for i in range(5)]输出[0、1、2、3、4]
#通过先将整数转化为字符串,再转化为列表,从而将整数的个位、十位、百位分开
if total == number:
return True
else :
return False
for i in range(100,1000):
if check_num(i) :
print("%d是水仙花数"%(i))
18、数据库左右连接区别
19、运营想要了解每个学校答过题的用户平均答题数量情况,请你取出数据。
select up.university,count(question_id)/count(distinct qpd.device_id) avg_answer_cnt
from user_profile as up,question_practice_detail as qpd
where up.device_id=qpd.device_id
group by up.university
20、求解质因数
#include <stdio.h>
int main(){
int m,i;
scanf("%d",&m);
printf("%d=",m);
for(i=2;i<=m;i++){
while(m%i==0){
printf("%d",i);
m/=i;
if(m>1)
printf("*");
}
if(m==1)
break;
}
return 0;
}
m=int(input())
print("%d="%(m),end="")
for i in range(2,m+1):
while m%i==0:
print("%d"%(i),end="")
m=m/i
if m>1:
print("*",end="")
if m==1:
break
21、查询前几个元组
22、统计打印二叉树节点
#include <stdio.h>
#include <stdlib.h>
//结构体
typedef struct TreeNode{
char data;
struct TreeNode *l_child;
struct TreeNode *r_child;
}BiTree;
//生成一个节点
BiTree *init_node(char x,BiTree *l_child,BiTree *r_child){
BiTree *node;
node=(struct TreeNode*)malloc(sizeof(struct TreeNode));
node->data=x;
node->l_child=l_child;
node->r_child=r_child;
return node;
}
//创造一棵树
BiTree *creat_tree(){
BiTree *root,*b,*c,*d,*e,*f;
d=init_node('D',NULL,NULL);
e=init_node('E',NULL,NULL);
f=init_node('F',NULL,NULL);
b=init_node('B',d,NULL);
c=init_node('C',e,f);
root=init_node('A',b,c);
return root;
}
//统计叶节点
int leaf_count(BiTree *T){
if(T==NULL)
return 0;
else if(T->l_child==NULL&&T->r_child==NULL)
return 1;
else
return leaf_count(T->l_child)+leaf_count(T->r_child);
}
//统计非叶节点
int non_leaf_count(BiTree *T){
if(T==NULL)
return 0;
else if(T->l_child==NULL&&T->r_child==NULL)
return 0;
else
return non_leaf_count(T->l_child)+non_leaf_count(T->r_child)+1;
}
//打印非叶节点
void non_leaf_print(BiTree *T){
if(T!=NULL){
if(!(T->l_child==NULL&&T->r_child==NULL))
printf("%c ",T->data);
non_leaf_print(T->l_child);
non_leaf_print(T->r_child);
}
}
//打印叶子节点
void leaf_print(BiTree *T){
if(T!=NULL){
if(T->l_child==NULL&&T->r_child==NULL)
printf("%c ",T->data);
leaf_print(T->l_child);
leaf_print(T->r_child);
}
}
//先序遍历
void preorder(BiTree *T){
if(T!=NULL){
printf("->%c",T->data);
preorder(T->l_child);
preorder(T->r_child);
}
}
int main(){
BiTree *root;
root=creat_tree();
printf("先序遍历:");
preorder(root);
printf("\n");
printf("叶节点个数:%d\n",leaf_count(root));
printf("打印叶子节点:");
leaf_print(root);
printf("\n");
printf("非叶节点个数:%d\n",non_leaf_count(root));
printf("打印非叶子节点:");
non_leaf_print(root);
printf("\n");
return 0;
}