终于回来了,连轴转了好几天好几天,终于忙完活动和上课内容,闲下来整理下最近的语言,下周依然是数不清的考试·······
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)))
输出结果:
这周我赶紧搞下递归,讲之前的辗转相除法用递归写下
有问题请指正!