文档介绍:c/c++的基础知识
文章来源网络属于c/c++分类电脑编程网整理 200956
简介:这是c/c++的基础知识的详细页面,介绍了和c/c++,有关的知识,谢谢大家的观看!要查看更多有关信息,请点击此处
 /*
推荐给想学C++的朋友一个简单但是完整的学习C++的读书路线图:
C++ Primer-> c++标准程序库-> effective C++-> effective STL->深入探索C++对象模型
C程序常用算法源码
 
算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决
一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据
(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。
通常使用自然语言、结构化流程图、伪代码等来描述算法。
一、计数、求和、求阶乘等简单算法
  此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,
  更要注意用来表示计数、和、阶乘的变量的初值。
  例:用随机函数产生100个[0,99]范围内的随机整数,统计个位上的数字分别为
  1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。
和 "本人從網上收集的關于c/c++的基礎知識(感謝各原創作者)" 有关的c#、、c++编程小帖士:
strong>Replace(expression, find, replace)
将字符串中find 参数指定的字符串转换为replace 参数指定的字符串。
  本题使用数组来处理,用数组a[100]存放产生的确100个随机整数,
  数组x[10]来存放个位上的数字分别为 1,2,3,4,5,6,7,8,9,0的数的个数。
  即个位是1的个数存放在x[1]中,个位是2的个数存放在x[2]中,……个位是0的个数存放在 x[10]。
void main()
{
  int a[101],x[11],i,p;
 
  for(i=0;i<=11;i++)
    x[i]=0;
   
  for(i=1;i<=100;i++)
  {
    a[i]=rand() % 100;
    printf("%4d",a[i]);
    if(i%10==0)printf("\n");
  }
  
  for(i=1;i<=100;i++)
  {
    p=a[i]%10;
    if(p==0) p=10;
    x[p]=x[p]+1;
  }
  for(i=1;i<=10;i++)
  {
    p=i;
    if(i==10) p=0;
    printf("%d,%d\n",p,x[i]);
  }
  printf("\n");
}
二、求两个整数的最大公约数、最小公倍数
  分析:求最大公约数的算法思想:(最小公倍数=两个整数之积/最大公约数)
  (1) 对于已知两数m,n,使得m>n;
  (2) m除以n得余数r;
  (3) 若r=0,则n为求得的最大公约数,算法结束;否则执行(4);
  (4) m ← n,n ← r,再重复执行(2)。
  例如: 求 m=14 ,n=6 的最大公约数. m n r
  14 6 2
  6 2 0
  void main()
  {
    int nm,r,n,m,t;
    printf("please input two numbers:\n");
    scanf("%d,%d",&m,&n);
    nm=n*m;
    if (m<n)
    {
      t=n;
      n=m;
      m=t;
    }
    
    r=m%n;
    while (r!=0)
    {
      m=n;
      n=r;
      r=m%n;
    }
    printf("最大公约数:%d\n",n);
    printf("最小公倍数:%d\n",nm/n);
  }
三、判断素