21年11月19日周结 c语言和python

2 篇文章 0 订阅

终于回来了,连轴转了好几天好几天,终于忙完活动和上课内容,闲下来整理下最近的语言,下周依然是数不清的考试·······
c语言推进到定义函数和函数的调用
python学的比较浅,过了切片,也来到了函数

切记赋值时,要赋值的放于等号左边,内容放右边

两个定义:
传值调用:
函数的形参和实参分别占有不同的内存块,对形参的修改不会影响实参
传址调用:
*传址调用是把函数外部创建变量的内存地址传递给西数参数的一种调用西数的方式。
*这种传参方式可以让西数和西数外边的变量建立起正真的联系,也就是西数内部可以直接操
作函数外部的变量。

选择排序和冒泡排序  c语言和python两类:

//选择排序 
#include <stdio.h>
void selectSort(int a[],int len)
{
	int i,j,temp,k;
	for (i = 0;i < len-1;i++){
		k = i;
		for(j = i+1;j < len;j++)
		{
				if (a[k] > a[j]){
					temp = a[k];
					a[k] = a[j];
					a[j] = temp; }
		}
	}
}
int main()
{
	int A[]={64,25,12,22,11,7,9};
	int n = sizeof(A) / sizeof(int);
	selectSort(A,n);
	printf("排序后结果为:");
	for (int i =0;i< n;i++)
	{
		printf("%d ",A[i]);
	}
	return 0;
}
//冒泡排序	 
#include <stdio.h>
void bubbleSort(int a[],int len)
{
	int i,j,temp; 
	for (i = 0;i < len-1;i++)
	{
		for (j = 0;j < len-i-1;j++)//保持 len-i-1 与 j+1相对应,因为排序时舍去了最大和最小值
			{
				if (a[j] > a[j+1]){
					temp = a[j];
					a[j] = a[j+1];
					a[j+1] = temp; }
			 } 
	}
}
int main()
{
	int A[]={64,25,12,22,11,7,9};
	int n = sizeof(A) / sizeof(int);
	bubbleSort(A,n);
	printf("排序后结果为:");
	for (int i =0;i< n;i++)
	{
		printf("%d ",A[i]);
	}
	return 0;
}

python之中仅需要::
 

//选择排序:
def selectSort(a):
    n = len(a)
    for i in range(n):
        k = i
        for j in range(i+1,n):
            if a[k]>a[j]:
                k = j
        a[i],a[k] = a[k],a[i]
A = [64,25,12,22,11,7,9]
selectSort(A)
print('排序后的结果:')
for i in range(len(A)):
    print('%d'%A[i])
//冒泡排序
def bubbleSort(a):
    n = len(a)
    for i in range(n):
        for j in range(0,n-i-1):
            if a[j] > a[j+1]:
                a[j],a[j+1] = a[j+1],a[j]
A = [64,25,12,22,11,7,9]
bubbleSort(A)
print('排序后的结果:')
for i in range (len(A)):
    print ('%d'%A[i])

另外分享一道恶心人的python题目:

 

def fac(x):
    f = 1
    for i in range(1,x+1):
        f = f*i
    return f
def mycos(x, n=10):
    s = 0
    for i in range(n+1):
        s = s + (-1)**i*x**(2*i)/fac(2*i)
    return s
pi = 3.14159
x  = pi/3
for n in range(5):
    print('n=%d时,cos(60°)=%.5f' % (n, mycos(x, n)))
print('-'*30)
L = [0, 30, 45, 60, 90]
for x in L:
    print('cos(%d°)=%.5f' % (x, mycos(x*pi/180)))

输出结果:

 这周我赶紧搞下递归,讲之前的辗转相除法用递归写下
有问题请指正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值