课本章节课后题 | 第六章 指针 | 第五章数组 | |
---|---|---|---|
课本章节总结 | 第六章 指针 | 第七章 用户自定义数据类型(结构体,链表,动态) | |
总结 | 排序总结 | 错题 | 题型 |
这里写目录标题
1)筛法求素数
#include<iostream>
using namespace std;
int main()
{
int a[101],i,j;
memset(a, 1, sizeof(a));
for (i = 2; i <= 100; i++)//素数从第二个找起
{
if (a[i] == 0)continue;//已经被标记过,不用循环
for (j = 2; j*i<= 100; j++)
a[j * i] = 0;//标记所有素数的倍数
}
for (i = 2; i <= 100; i++)
if (a[i])cout << i << ' ';
cout << '\b' << endl;
}
(2)选择法排序<使用动态数组😄>
#include<iostream>
using namespace std;
int main()
{
int mini,trans,n,*a,i,j,flag=1;
cin >> n;//输入一共有n个数据
a=new int[n];
for (i = 0; i < n; i++)
cin >> a[i];
for (i = 0; i < n - 1&&flag; i++)
{
mini = i;
for (j = i + 1; j < n; j++)//寻找
if (a[j] < a[mini])
mini = j;
if (mini != i)
{
trans = a[i];
a[i] = a[mini];
a[mini] = trans;
flag = 1;
}
else flag = 0;
}
for (i = 0; i < n; i++)
cout << a[i] << ' ';
cout << '\b' << endl;
delete []a;
}
理想中的状态,不用看hahaha
#include<iostream>
using namespace std;
int main()
{
int* a, n, i,m;
void pro1(int*, int,int);//降序
void pro2(int*, int,int);//升序
cout << "input n,m";
cin >> n; cin >> m;
a = new int[n+1];
cout << "input 数组";
for (i = 0; i < n;<