深爱那片海 发表于 2015-1-16 11:05:00

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

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

  Fibonacci数列又称斐波那契数列,又称黄金支解数列,指的是如许一个数列:1、1、2、3、5、8、13、21。
  C言语完成的代码以下:
/*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;}  了局输入:
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+  也能够利用上面的源代码:
/*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;}  了局输入:
Enteraninteger:200FibonacciSeries:0+1+1+2+3+5+8+13+21+34+55+89+144+ 2、回文反省

  源代码:
/*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;}  了局输入:
Enteraninteger:1232112321isapalindrome. 3、质数反省

  注: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;}  了局输入:
Enterapositiveinteger:2929isaprimenumber. 4、打印金字塔和三角形

  利用*创建三角形
***************  源代码:
#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("
");}return0;}  以下图所示利用数字打印半金字塔。
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+0  源代码:
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+1  用*打印半金字塔
***************  源代码:
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+3  用*打印金字塔
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+4  源代码:
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+5  用*打印倒金字塔
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+4  源代码:
Enternumberofterms:10FibonacciSeries:0+1+1+2+3+5+8+13+21+34+7 5、复杂的加减乘除盘算器

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

  源代码:
/*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  了局输入:
/*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、用递回的体例倒置字符串

  源代码:
/*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  了局输入:
/*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、完成二进制与十进制之间的互相转换

/*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、利用多维数组完成两个矩阵的相加

  源代码:
/*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、矩阵转置

  源代码:
/*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

一个方面分析了.觉得可以下手了.就去做吧.模糊的东西会随着问题的解决慢慢清晰的.

只想知道 发表于 2015-2-6 22:59:27

虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。

兰色精灵 发表于 2015-2-19 05:55:42

这周实训的内容主要是使用Visual C++ 6.0集成环境来编辑,编译并运行C++程序。以前看到编程就不知所措,无从下手,经过这周实训的训练,我对语言程序设计慢慢的熟悉起来,慢慢的也会懂得多少,尽管编的程序仍有好多错误。

admin 发表于 2015-3-6 13:42:55

从2月21号开始看的,算下来已经1个多月了,每天看2-3个小时左右。本身C的基础挺好的,几本经典的C语言书都看过。

海妖 发表于 2015-3-13 02:09:27

当然. 你有兴趣可以再学学动态语言.比如 Ruby.慢慢地. 就会提高的.多学一点东西.就会让你的思维广阔。。

山那边是海 发表于 2015-3-20 10:19:29

不该让过渡时期的人感到很郁闷才是,所以所有高校都该停止开C语言课!哈哈!
页: [1]
查看完整版本: 来谈谈:10个典范的C言语口试基本算法及代码