琐碎知识
好多细节知识已经忘了,需要写出来汇总一下了:
1.输出两位小数
#include<iostream>
#include<iomanip> //setprecision()
using namespace std;
int main()
{
float a=1.66666;
printf("%.2f\n", a);
cout<<setprecision(3)<<a<<endl;
system("pause");
return 0;
}
2.四舍五入法
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a=1.121111156789;
a = (int)(a * 100 +0.5)/100.0; //先类型转换再执行除法
cout<<a<<endl;
system("pause");
return 0;
}
3.int型数组排序
#include<iostream>
using namespace std;
int cmp(const void *a, const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
int a[10];
int i;
for(i=0;i<10;i++)
{
cin>>a[i];
}
qsort(a, 10, sizeof(a[0]), cmp);
for(i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
4.结构体一级排序
#include<iostream>
#include<iomanip>
using namespace std;
struct dist{
int x;
double dist;
}s[10];
int cmp(const void *a, const void *b)
{
return(*(dist *)a).dist > (*(dist *)b).dist ? 1 : -1;
}
int main()
{
int i;
for(i=0;i<10;i++)
{
cin>>s[i].x>>s[i].dist;
}
qsort(s, 10, sizeof(s[0]), cmp);
for(i=0;i<10;i++)
{
cout<<s[i].dist<<" ";
}
cout<<endl;
system("pause");
return 0;
}
5.辗转相除法求最大公约数
int gcd(int a, int b)
{
if(a%b== 0)
return b;
else
return gcd(b, a%b);
}
6.筛法求素数(未优化)
#include<iostream>
#include<cmath>
using namespace std;
int N=1000001;
bool* prime=new bool[N];
int main()
{
int i, j;
for(i=2;i<N;i++)
{
prime[i]=true;
}
for(i=2;i<=N;i++)
{
for(j=2;i*j<=N;j++)
{
prime[i*j]=false;
}
}
for(i=2;i<100;i++)
{
if(prime[i])
cout<<i<<endl;
}
system("pause");
return 0;
}
7.并查集
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int father[50002];
int find(int x)
{
if(father[x] != x)
father[x] = find(father[x]);
return father[x];
}
int main()
{
int a, b, m, n, p;
cin>>n>>m>>p;
for(int i=1;i<=n;i++)
father[i] = i;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
a=find(a);
b=find(b);
father[a]=b;
}
for(int i=1;i<=p;i++)
{
scanf("%d%d",&a,&b);
a=find(a);
b=find(b);
if(a==b)
printf("Yes");
else
printf("No");
}
system("pause");
return 0;
}
posted on 2012-04-18 22:00 java课程设计例子 阅读(159) 评论(0) 编辑 收藏 举报