紫书学习小总结

1万能头文件

#include<bits/stdc++>

2.运用

#define LOCAL
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
#endif

##3将数组清零

memset(a,0,sizeof(a));

将数组a在0和1之间变换;

a[j] != a[j]

scanf("%s",s);//读入一个不含空格tab 回车的字符串
sprintf(b,"%d",a)//往b数组中存入a;
printf//输出到屏幕
fprintf//输出到文件
strchr在一个字符串中查找单个字符

#include<stdio.h>
#include<string.h>
int main()
{
    int count = 0;
    char s[20],buf[99];
    scanf("%s",s);
    for(int abc = 111;abc <= 999;abc++)
        for(int de = 11;de <= 99;de++){
            int x = abc*(de%10),y = abc*(de/10),z = abc*de;
            sprintf(buf,"%d%d%d%d%d",abc,de,x,y,z);
            int ok = 1;
            for(int i = 0;i < strlen(buf);i++)
                if(strchr(s,buf[i]) == NULL) ok = 0;
            if(ok){
                printf("<%d>\n",++count);
                printf("%5d\nX%4d\n-----\n%5d\nX%4d\n-----\n%5d\n\n",abc,de,x,y,z);
            }
        }
        printf("The number of solutions = %d\n",count);
        return 0;
}

##交换

#include<stdio.h>
//注意在swap函数中的指针应用以及在main函数中的&&
int swap(int *a,int *b)
{
    int t = *a;
    *a = *b;
    *b = t;
}
int main()
{
    int m,n;
    scanf("%d %d",&n,&m);
    swap(&n,&m);
    printf("%d %d",n,m);
}

传入数组

#include<stdio.h>

int sum(int *a,int n){
    int ans = 0;
    for(int i = 0;i < n;i ++)
        ans += a[i];
    return ans;
}
int main()
{
    int a[] = {1,2,3,4,5};
    printf("%d\n",sum(a+1,3));
    return 0;
}
//结果为9
//写法二
int sum(int *begin ,int *end)
{
	int n = begin - end;
	int ans = 0;
	for(int i = 0;i < n;i++)
		ans += begin[i];
	return ans;
int sum(int *begin ,int *end)
{
	int *p = begin;
	int ans = 0;
	for(int i = 0;i < n;i++)
		ans += begin[i];
	return ans;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值