青少年编程知识记录 codecoming

C++ 实用趣味小程序(1)

1.仿动画效果#include <cstdio>#include <windows.h>  //内含延时函数 #include <process.h> //内含清屏函数 int main(){    printf("■■\n");    printf("■■\n");    Sleep(430);    system("
作者:亿万年的星光 分类:趣味小程序 浏览:

【高级篇】C++ 中string的用法

0.概述string是C++标准库的一个重要部分,本意是字符串,和字符数组不同的是,字符数组是通过一个一个字符模拟的字符串,而string本身就是字符串,string在处理字符串问题时,十分强大。1.字符和字符串的区别在C++语言中,字符和字符串有着严格的区别,char  c;   // 字符, c=‘s’;   // 字符的赋值用单引号char  ary[10];   //字符数组cin>>ary;   //字符数组的赋
作者:亿万年的星光 分类:C++知识 浏览:

【初级篇】求最大公约数的方法

1.辗转相除法

int gcd(int a,int b)     {        if(a%b==0)           return b;       else           return gcd(b,a%b);   }

2.穷举法

int divisor (int a, int b) //自定义函数求两数的最大公约数     {        int  temp;//定义整型变量       temp=(a>b)?b:a;//采种条件运算表达式求出两个数中的最小值       while(temp>0)          {                if(a%temp==0&&b%temp==0)//只要找到一个数能同时被a,b所整除,则中止循环                break;                temp--;//如不满足if条件则变量自减,直到能被a,b所整除         }        return (temp);//返回满足条件的数到主调函数处     }

3.更相减损法

 int gcd2(int m,int n)   {       int i=0,temp,x;       while(m%2==0&&n%2==0)//判断m和n能被多少个2整除      {           m/=2;           n/=2;           i+=1;      }        if(m<n)//m保存大的值     {          temp=m;          m=n;          n=temp;     }        while(x)     {          x=m-n;          m=(n>x)?n:x;          n=(n<x)?n:x;          if(n==(m-n))          break;     }      if(i==0)      return n;          else          return (int) pow(2,i)*n;    }

4.其他方法

int gcd(int a,int b)  {      int c;      while(b)      {          c=a%b;          a=b;b=c;      }      return a;  }



作者:亿万年的星光 分类:C++知识 浏览:

【初级篇】函数(一)

0.函数的引入为什么要用函数呢?比较官方的说法是,过程的复用,你的一段逻辑,你有一段逻辑不断的在复用,就封装成函数去调用它。通俗的说法就是,把重复的过程集中到一块。例如,大家都学过如何求正方形的面积,有一天老师问你,边长为2的正方形的的面积是多少?你回答是4,老师问你边长为3的正方形的面积是多少?你回答是9。这个过程中,老师不断向你问同一种类型的问题,你利用掌握的原理,从老师那里输入数据,根据原理,进行操作,然后告诉老师答案。总结:如果你的程序需要重复的去使用一段逻辑,那么就定义成函数。1.函数
作者:亿万年的星光 分类:C++知识 浏览:

【入门篇】C++ 中变量的简单使用

1.什么是变量”变量“通俗来讲就是能变的量。在程序设计中,变量是一个个不同类型的盒子,当盒子里装了苹果时,盒子就代表苹果,当然,我们需要给一个个盒子起不同的名字。像下面的图片一样,一个盒子,给他取一个名字,叫a,然后往这个盒子里放一个苹果,那么以后a就表示苹果。当然,这个不同类型的盒子只能装同一种类型的物品。比如,我们规定,上面的正方形只能装水果。下面的五边形只能装书籍。b表示英语书。2. 变量的命名规范在定义变量时,变量名可以是字母、数字和下划线的组合。但是也不是随便的组合,要注意以下几个命名
作者:亿万年的星光 分类:C++知识 浏览:

迷宫

【题目描述】一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态,.和#,前者表示可以通行后者表示不能通行。同时当Extense处在某个格点时,他只能移动到东南西北(或者说上下左右)四个方向之一的相邻格点上,Extense想要从点A走到点B,问在不走出迷宫的情况下能不能办到。如果起点或者终点有一个不能通行(为#),则看成无法办到。【输入描述】第1行是测试数据的组数k,后面跟着k组输入。每组测试数据的第1行是一个正整数n (1 ≤ n
作者:亿万年的星光 分类:题解目录 浏览:

八皇后2

【题目描述】会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 × 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2…b8a=b1b2…b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数时比y小。【输入描述】
作者:亿万年的星光 分类:题解目录 浏览:

八皇后问题

【题目描述】八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线(对角线)上,问有多少种摆法。【输入描述】无【输出描述】一共有多少种摆法【样例输入】无【样例输出】92【题目分析】(1)框架分析放置第i个(行)皇后的算法为: int search(i);  {      int j;   
作者:亿万年的星光 分类:题解目录 浏览:

数的拆分(1)

【题目描述】任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。例如:当n=7时7=1+1+1+1+1+1+1 7=1+1+1+1+1+2 7=1+1+1+1+3 7=1+1+1+2+2 7=1+1+1+4 7=1+1+2+3 7=1+1+5 7=1+2+2+2 7=1+2+4 7=1+3+3 7=1+6 7=2+2+3 7=2+5 7=3+4 total=14【输入描述】一个数N【输出描述】一个数,表示多少种拆分的方式【样例输入】3【样例输出】3=1+1
作者:亿万年的星光 分类:题解目录 浏览:

奶牛的耳语

【题目描述】在你的养牛场,所有的奶牛都养在一排呈直线的牛栏中。一共有 n头奶牛,其中第 ii头牛在直线上所处的位置可以用一个整数坐标 pi(0<pi<10^8)来表示。在无聊的日子里,奶牛们常常在自己的牛栏里与其它奶牛交流一些八卦新闻。每头奶牛发出的声音响度是一样的,而由于声波的能量衰减,某头奶牛发出的声音只能被与它距离不超过 d(0≤d≤10^4) 的奶牛所听到,这样这对奶牛就称为可以相互交流的。现在给出所有奶牛的位置和声音所能传播
作者:亿万年的星光 分类:题解目录 浏览: