仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2966|回复: 8
打印 上一主题 下一主题

[C++基础] 来谈谈:10个典范的C言语口试基本算法及代码

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 11:05:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。
  算法是一个程序和软件的魂灵,作为一位优异的程序员,只要对一些基本的算法有着周全的把握,才会在计划程序和编写代码的过程当中显得轻车熟路。本文是近百个C言语算法系列的第二篇,包含了典范的Fibonacci数列、浅易盘算器、回文反省、质数反省等算法。大概他们能在你的卒业计划大概口试中派上用处。
 1、盘算Fibonacci数列

  Fibonacci数列又称斐波那契数列,又称黄金支解数列,指的是如许一个数列:1、1、2、3、5、8、13、21。
  C言语完成的代码以下:
  1. /*DisplayingFibonaccisequenceuptonthtermwherenisenteredbyuser.*/#include<stdio.h>intmain(){intcount,n,t1=0,t2=1,display=0;printf("Enternumberofterms:");scanf("%d",&n);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/count=2;/*count=2becausefirsttwotermsarealreadydisplayed.*/while(count<n){display=t1+t2;t1=t2;t2=display;++count;printf("%d+",display);}return0;}
复制代码
  了局输入:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+
复制代码
  也能够利用上面的源代码:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}
复制代码
  了局输入:
  1. Enteraninteger:200FibonacciSeries:0+1+1+2+3+5+8+13+21+34+55+89+144+
复制代码
 2、回文反省

  源代码:
  1. /*Cprogramtocheckwhetheranumberispalindromeornot*/#include<stdio.h>intmain(){intn,reverse=0,rem,temp;printf("Enteraninteger:");scanf("%d",&n);temp=n;while(temp!=0){rem=temp%10;reverse=reverse*10+rem;temp/=10;}/*Checkingifnumberenteredbyuseranditsreversenumberisequal.*/if(reverse==n)printf("%disapalindrome.",n);elseprintf("%disnotapalindrome.",n);return0;}
复制代码
  了局输入:
  1. Enteraninteger:1232112321isapalindrome.
复制代码
 3、质数反省

  注:1既不是质数也不是合数。
  源代码:
  1. /*Cprogramtocheckwhetheranumberisprimeornot.*/#include<stdio.h>intmain(){intn,i,flag=0;printf("Enterapositiveinteger:");scanf("%d",&n);for(i=2;i<=n/2;++i){if(n%i==0){flag=1;break;}}if(flag==0)printf("%disaprimenumber.",n);elseprintf("%disnotaprimenumber.",n);return0;}
复制代码
  了局输入:
  1. Enterapositiveinteger:2929isaprimenumber.
复制代码
 4、打印金字塔和三角形

  利用*创建三角形
  1. ***************
复制代码
  源代码:
  1. #include<stdio.h>intmain(){inti,j,rows;printf("Enterthenumberofrows:");scanf("%d",&rows);for(i=1;i<=rows;++i){for(j=1;j<=i;++j){printf("*");}printf("
  2. ");}return0;}
复制代码
  以下图所示利用数字打印半金字塔。
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+0
复制代码
  源代码:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+1
复制代码
  用*打印半金字塔
  1. ***************
复制代码
  源代码:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+3
复制代码
  用*打印金字塔
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+4
复制代码
  源代码:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+5
复制代码
  用*打印倒金字塔
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+4
复制代码
  源代码:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+7
复制代码
 5、复杂的加减乘除盘算器

  源代码:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+8
复制代码
  了局输入:
  1. Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+9
复制代码
 6、反省一个数能不克不及暗示成两个质数之和

  源代码:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}0
复制代码
  了局输入:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}1
复制代码
 7、用递回的体例倒置字符串

  源代码:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}2
复制代码
  了局输入:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}3
复制代码
 8、完成二进制与十进制之间的互相转换
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}4
复制代码
  了局输入:



 9、利用多维数组完成两个矩阵的相加

  源代码:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}5
复制代码
  了局输入:



 10、矩阵转置

  源代码:
  1. /*DisplayingFibonacciseriesuptocertainnumberenteredbyuser.*/#include<stdio.h>intmain(){intt1=0,t2=1,display=0,num;printf("Enteraninteger:");scanf("%d",&num);printf("FibonacciSeries:%d+%d+",t1,t2);/*Displayingfirsttwoterms*/display=t1+t2;while(display<num){printf("%d+",display);t1=t2;t2=display;display=t1+t2;}return0;}6
复制代码
  了局输入:



  via:codeceo
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。
透明 该用户已被删除
沙发
发表于 2015-1-18 07:47:01 | 只看该作者
此外,在实训中,我还认识到自己的粗心。在编程时,粗心的把一语言写错,导致结果运行不了。在以后的学习中,我要特别注意小节,要认真对待。
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-23 16:04:09 | 只看该作者
山外有山,人外有人,多学习别人先进经验,严格要求自己,追求完美,尽管完美追不到,至少你自己在提高。
小魔女 该用户已被删除
地板
发表于 2015-1-31 18:53:02 | 只看该作者
一个方面分析了.觉得可以下手了.就去做吧.模糊的东西会随着问题的解决慢慢清晰的.
只想知道 该用户已被删除
5#
发表于 2015-2-6 22:59:27 | 只看该作者
虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。
兰色精灵 该用户已被删除
6#
发表于 2015-2-19 05:55:42 | 只看该作者
这周实训的内容主要是使用Visual C++ 6.0集成环境来编辑,编译并运行C++程序。以前看到编程就不知所措,无从下手,经过这周实训的训练,我对语言程序设计慢慢的熟悉起来,慢慢的也会懂得多少,尽管编的程序仍有好多错误。
admin 该用户已被删除
7#
发表于 2015-3-6 13:42:55 | 只看该作者
从2月21号开始看的,算下来已经1个多月了,每天看2-3个小时左右。本身C的基础挺好的,几本经典的C语言书都看过。
海妖 该用户已被删除
8#
发表于 2015-3-13 02:09:27 | 只看该作者
当然. 你有兴趣可以再学学动态语言.比如 Ruby.慢慢地. 就会提高的.多学一点东西.就会让你的思维广阔。。
山那边是海 该用户已被删除
9#
发表于 2015-3-20 10:19:29 | 只看该作者
不该让过渡时期的人感到很郁闷才是,所以所有高校都该停止开C语言课!哈哈!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-17 20:47

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表