仓酷云

标题: 来谈谈:10个典范的C言语口试基本算法及代码 [打印本页]

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




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2