1.插入排序
(1)
#include <stdio.h>
void print(int a[],int n)
{
for(int i=0;i<n;i++)
{
printf("%d",a[i]);
printf("\t");
}printf("\n");
}
void insertion_sort(int a[],int n)
{ print(a,n);
for(int i=1;i<n;i++)
{
int key=a[i];
int j=i-1;
while(j>=0&&a[j]>key)
{
a[j+1]=a[j];
j--;
}
a[j+1]=key;
print(a,n);
}
}
int main()
{
int a[1000];
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
insertion_sort(a,n);
}
这种写法没有办法,无限输入,最近看书看到了vector,尝试的用c++写了一下,还没有搞懂vector做参数的做法,但是可以实现无限输入。
(2)
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> a;
int n;
while(1)
{cin>>n;
a.push_back(n);
if(cin.get()=='\n')
break;
}
int len=a.size();
for(int i=1;i<len;i++)
{
int key=a[i];
int j=i-1;
while(j>=0&&a[j]>key)
{
a[j+1]=a[j];
j--;
}
a[j+1]=key;
for(int i=0;i<len;i++)
{
cout<<a[i]<<" ";
} cout<<endl;
}
}
2.输出二进制
#include <stdio.h>
void change(int x)
{if(x>0)
{change(x/2);
printf("%d",x%2);
}
}
int main()
{int x;
printf("Please input a number.\n");
scanf("%d",&x);
change(x);
}
3.判断素数
#include <stdio.h>
int judge(int x)
{
for(int i=2;i<=x-1;i++)
{if(x%i==0)
{
return 0;break;}
else continue;
}return 1;
}
int main()
{
int n;
int z=1;
while(z==1)
{ printf("Please input a number.\n");
scanf("%d",&n);
if(judge(n)==1)
printf("This is a prime number.\n ");
else printf("This is not a prime number.\n");
printf("If you want to continue please input 1 and if you want to stop please input 0.\n");
scanf("%d",&z);
}
printf("over");
}
4.支持La Tex的Markdown语句,编写数学公式
5.学习心得与期望
最近接触了Markdown,发现十分好用,在电脑上下载了Obsidian在里面下载了插件,拿来记一些代码笔记和数学笔记,就是还不太熟练用Markdown来写,还在慢慢摸索,至少最近效率提高了一些。期望是把知识学扎实了,多多思考,在数学方面由于个人原因,前面学期的学习内容都没有很好掌握,希望再接下来的假期时间,抓紧查漏补缺。