最近在学算法,写点东西,记录一下,督促自己。
一、文件操作
1. 输入输出重定向
#define LOCAL
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
2. 输入输出(不使用重定向)
FILE *fin, *fout;
int x;
fin = fopen("data.in", "rb");
fout = fopen("data.out", "wb");
fscanf(fin, "%d", &x);
fprintf(fout, "%d\n", x);
fclose(fin);
fclose(fout);
二、数组和字符串
1. 数组整体复制或者赋值
#include <string.h>
#define MAX 10000
#define a[MAX]
#define b[MAX]
int main()
{
int k=10;
memset(a,0,sizeof(a));//给a整体赋值0
memcpy(b,a,sizeof(int)*k);//int表示数组类型
}
2. 字符串数组
#include <string.h>
//读取数组
char s[20],buf[30];
int i,ok;
scanf("%s",s);//此处没有&s
//判断s中是否包含buf中的字符
for(i=0;i<strlen(buf);i++)
if(strchr(s, buf[i]==NULL)
ok=0;