为什么不returnfun的时候,其返回值为n+1呢,和寄存器里存的内容有何相关?include<stdio.hinclude<assert.hintfun(intn){inti=0;intj=0;for(i=0;i<=n;i){for(j=0;j<=i;j){printf("%d%d=%d",i,j,ij);}printf("\n");}return2;}intmain(){intn=0,m=0
if用来判断边界条件,满足的话就一直层层递归返回,否则就一直递归下去;include<stdio.hintgap(inta,intb,intt){if(at)return1;returnagap(a1,b,t);}intmain(){inta,b;scanf("%d%d",&a,&b);intsum=gap(a,b,ab);printf("%d",sum);return0;}
!image.png(https://s2.51cto.com/images/20220510/1652188735233280.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)!im
flag就像筛选一样,初始值设定0(假设为不是),那我就要处理所有是的情况(flag=1)初始值设定1(假设是),那就处理所有不是的情况(flag=0)这样做可以让flag改变,否则设定0,所有操作也是筛选不是(flag=0),没有经过这些操作(flag=0)影响最后输出。
!image.png(https://s2.51cto.com/images/20220509/1652110344333466.png?xossprocess=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)!im
'0'是字符常量,其ASCII码:48(如果我们想要表达的是现实生活中的零,那就要输入'0')"0"字符串常量,这个应该不会混\0:所有的ASCII码都可以用“\”加数字来表示所以0,\0,'\0'表示意思一致ai!=''&&ai!='\n'&&ai!=0(正常情况下我们写代码能操作的最小单位就是字符吗?)有位操作,那0,\0,'\0'只存一位的情况下和一个字节的情况下不就是0或者00000000
难度一般,但是多组输入一定要记住scanf后面会留有空格,所以要是字符输入时一定要getchar();掉或者%前面加一个空格保持格式一致"%d"否则"%d"就会出现自己预期之外的错误,还不好排查,注重底层原理!!!include<stdio.hintmain(){intn=0,m=0;scanf("%d%d",&n,&m);intarrnm;for(inti=0;i<n;i){for(intj=0
经历了栈溢出,各种数组越界,算作用不小了吧,这是最平常的想法(自己思考的),继续看看大佬的做法来充实一下,比如先输出上三角,再输出下三角,笨比没想到只好用昨天摸索的flag转向来做了define_CRT_SECURE_NO_WARNINGSinclude<malloc.hinclude<stdio.hintmain(){intflag=1;//方向intn;//输入intcount=2;//计数器
先放这里吧,明天再用一个循环搞定一起写总结,主要就是flag和上下界sup,inf的作用,合理设置上下界的变化还有合适的flag插入点和变化点,就可以很好的解决问题。推测这个循环可以衍生出贪吃蛇。include<stdio.hintmain(){intn=0,i=0,j=0;intarr2020={0};scanf("%d",&n);intflag=1;//1右转2下转3左转4上转intcount
描述国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币。请计算在前K天里,骑士一共获得了多少金币。#include <
2022.4.12
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号