来谈谈: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
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。 此外,在实训中,我还认识到自己的粗心。在编程时,粗心的把一语言写错,导致结果运行不了。在以后的学习中,我要特别注意小节,要认真对待。 山外有山,人外有人,多学习别人先进经验,严格要求自己,追求完美,尽管完美追不到,至少你自己在提高。 一个方面分析了.觉得可以下手了.就去做吧.模糊的东西会随着问题的解决慢慢清晰的. 虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。 这周实训的内容主要是使用Visual C++ 6.0集成环境来编辑,编译并运行C++程序。以前看到编程就不知所措,无从下手,经过这周实训的训练,我对语言程序设计慢慢的熟悉起来,慢慢的也会懂得多少,尽管编的程序仍有好多错误。 从2月21号开始看的,算下来已经1个多月了,每天看2-3个小时左右。本身C的基础挺好的,几本经典的C语言书都看过。 当然. 你有兴趣可以再学学动态语言.比如 Ruby.慢慢地. 就会提高的.多学一点东西.就会让你的思维广阔。。 不该让过渡时期的人感到很郁闷才是,所以所有高校都该停止开C语言课!哈哈!
页:
[1]