1.29

1.29

python

#Python中,这种一边循环一边计算的机制,称为生成器:generator
L=[x*x for x in range(10)]
print(L)
#[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
g=(x*x for x in range(10))
#<generator object <genexpr> at 0x1022ef630>generator保存的是算法
#generator也是可迭代对象
g=(x*x for x in range(10))
for n in g:
    print(n)
#杨辉三角
    def yanghui(max):
        L = [1]
        n = 0
        while n < max:
            yield L
            # 不会占用太大内存,yield就是 return 返回一个值
            # 并且记住这个返回的位置
            # 下次迭代就从这个位置后(下一行)开始。
            L.append(0)
            L = [L[i - 1] + L[i] for i in range(len(L))]
            n = n + 1
            for li in yanghui(7):
                print(li)
#调用函数的时候需要用一个for循环把生成器中的内容依次提取出来

 #高阶函数
# 编写高阶函数,就是让函数的参数能够接收别的函数。
def add(x, y, f):
    return f(x) + f(y)
print(add(-5, 6, abs))
# 示例加减乘除
def jia(x, y):
    return x + y


def jian(x, y):
    return x - y


def cheng(x, y):
    return x * y


def chu(x, y):
    if y != 0:
        return x / y
    else:
        return x * float("inf")


def full(x, y, f):
    return f(x, y)
    # 计算 1-(2*3)+5/6


print(full((full(1, full(2, 3, cheng), jian)), full(5, 6, chu), jia))

c

//指针排序法,结合选择排序法
#include<stdio.h>
int main()
{
	void sort(int x[],int n);
	int i,*p,a[10];
	p=a;      //指针变量p指向a[0] 
	printf("enter 10:");
	for(i=0;i<10;i++)
	scanf("%d",p++);
	p=a;
	sort(p,10);
	for(p=a,i=0;i<10;i++)
	{
		printf("%d",*p);  //输出排序后10个数组元素 
		p++;
	}
	printf("\n");
	return 0;
 } 
 void sort(int*x,int n)//形参x是指针变量//void sort(int x[],int n)
{
int i,j,min,t;
for(i=0;i<n-1;i++)
 {
	min=i;
	for(i=0;i<n-1;i++)
	{
		min=i;
		for(j=i+1;j<n;j++)
		if(x[j]>x[min])
		min=j;
		if(min!=i)
		{
			t=x[i];
			x[i]=x[min];
			x[min]=t; 
		}
	}
 }		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值