您当前的位置:首页 > 美文摘抄 > 内容

10个经典的c语言基础算法及代码表_10个经典的C语言基础算法及代码

10个经典的c语言基础算法及代码表_10个经典的C语言基础算法及代码

算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文包括了经典的斐波纳契数列、简易计算器、回文检查、质数检查等算法。

1、计算斐波纳契数列

斐波纳契数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列1、1、2、3、5、8、13、21。

C语言实现的代码如下:

输入项数:10斐波纳契数列:0 1 1 2 3 5 8 13 21 34也可以使用下面的源代码:#包含int main(){int t1=0,t2=1,display=0,numprintf('输入一个整数:');scanf('%d '编号);printf('斐波那契数列:%d %d 't1,T2);display=t1 T2;而(显示结果输出:

输入一个整数:200斐波那契数列:0 1 1 2 3 5 8 13 21 34 55 89 144

2、回文检查

源代码:

#include int main(){int n,reverse=0,rem,tempprintf('输入一个整数:');scanf('%d 'n);temp=n;while(temp!=0){ rem=temp;反向=反向*10雷姆;temp/=10;} if(reverse==n)printf(' % d是回文n);elseprintf('%d '不是回文n);返回0;}

结果输出:

输入一个整数:1232112321是回文。

3、质数检查

注:1既不是质数也不是合数。

源代码:

/* C程序检查一个数是否是质数. include int main(){int n,I,flag=0;printf('输入正整数:');scanf('%d 'n);for(I=2;I=n/2;I){ if(n % I==0){ flag=1;打破;} }if (flag==0)printf('%d是一个质数n);elseprintf('%d '不是质数n);返回0;}

结果输出:

输入一个正整数:2929是一个质数。

4、打印金字塔和三角形

使用* 建立三角形

源代码:

#include int main(){int i,j,rowsprintf('输入行数:');scanf('%d '行);for(I=1;我=行数;I){ for(j=1;j=I;j){ printf(' * ');} printf(' \ n ');}返回0;}

如下图所示使用数字打印半金字塔。

11 21 2 31 2 3 41 2 3 4 5

源代码:

#include int main(){int i,j,rowsprintf('输入行数:');scanf('%d '行);for(I=1;我=行数;I){ for(j=1;j=I;j){ printf(' * ');} printf(' \ n ');}返回0;}

用* 打印半金字塔

源代码:

#include int main(){int i,j,rowsprintf('输入行数:');scanf('%d '行);for(I=行;I=1;-I){ for(j=1;j=I;j){ printf(' * ');} printf(' \ n ');}返回0;}

用* 打印金字塔

源代码:

#include int main(){int i,space,rows,k=0;printf('输入行数:');scanf('%d '行);for(I=1;我=行数;I){ for(space=1;space=rows-I;space){ printf(');}while(k!=2 * I-1){ printf(' *);k;} k=0;printf(' \ n ');}返回0;}

用* 打印倒金字塔

源代码:

#includeint main(){int rows,I,j,spaceprintf('输入行数:');scanf('%d '行);for(I=行;I=1;-I){ for(space=0;空间5、简单的加减乘除计算器

源代码:

/*源代码创建一个简单的计算器,使用开关进行加减乘除运算.C程序设计中的情况语句. include int main(){ char o;float num1,num2printf('输入运算符or-or * or divide:');scanf('%c 'o);printf('输入两个操作数:');scanf('%f%f 'num1,num 2);switch(o){ case ' 'printf(%。1f %。1f=%。1f 'num1,num2,num 1 num 2);打破;case '-'printf('%.1f - %.1f=%.1f 'num1,num2,num 1-num 2);打破;case '*'printf('%.1f * %.1f=%.1f 'num1,num2,num 1 * num 2);打破;case '/'printf('%.1f/%.1f=%.1f 'num1,num2,num 1/num 2);打破;默认值:/*如果运算符不是-、*或/,将显示错误消息*/printf('错误!运算符不正确');打破;}返回0;}

结果输出:

输入运算符或-或*或除:-输入两个操作数:3.48.43.4-8.4=-5.0

6、检查一个数能不能表示成两个质数之和

源代码:

# include int prime(int n);int main(){int n,I,flag=0;printf('输入正整数:');scanf('%d 'n);for(I=2;I=n/2;i) {if (prime(i)!=0) {if ( prime(n-i)!=0) {printf('%d=%d %d\n 'n,I,n-I);flag=1;} } }if (flag==0)printf('%d '不能表示为两个素数之和. n);返回0;}int prime(int n) {int i,flag=1;for(I=2;I=n/2;I)if(n % I==0)flag=0;返回标志;}

结果输出:

输入一个正整数:3434=3 3134=5 2934=11 2334=17 17

7、用递归的方式颠倒字符串

源代码:

#包含void反转();int main(){printf('输入一个句子:');反向();返回0;} void Reverse(){ char c;scanf('%c 'c);如果(c!=' \ n '){ Reverse();printf('%c 'c);}}

结果输出:

输入一个句子:margorp emosewaawesome程序

8、实现二进制与十进制之间的相互转换

# include # include int binary _ decimal(int n);int decimal _ binary(int n);int main(){ int n;char c;printf('指令:\ n’);printf('1 .输入字母"d"将二进制转换为十进制. \ n ');printf('2 .输入字母"b"将十进制转换为二进制. \ n ');scanf('%c 'c);if (c=='d' || c=='D') {printf('输入一个二进制数:');scanf('%d 'n);printf('%d in binary=%d in decimal 'n,binary _ decimal(n));}if (c=='b' || c=='B') {printf('输入一个小数:');scanf('%d 'n);printf('%d in decimal=%d in binary 'n,decimal _ binary(n));}返回0;}int decimal_binary(int n) { int rem,i=1,binary=0;而(n!=0){ rem=n % 2;n/=2;binary=rem * I;i *=10}返回二进制;}int binary_decimal(int n) {int decimal=0,i=0,rem而(n!=0){ rem=n;n/=10;decimal=rem*pow(2,I);我;}返回小数;}

结果输出:

9、使用多维数组实现两个矩阵的相加

源代码:

#include int main(){int r,c,a[100][100],b[100][100],sum[100][100],I,j;printf('输入行数(1到100之间):');scanf('%d 'r);printf('输入列数(1到100之间):');scanf('%d 'c);printf(' \ n输入第一个矩阵的元素:\ n’);for(I=0;我结果输出:

10、矩阵转置

源代码:

#include int main(){int a[10][10],trans[10][10],r,c,I,j;printf('输入矩阵的行和列:');scanf('%d %d 'r,c);/*在数组a[][]中存储用户输入的矩阵元素./printf(' \ n输入矩阵的元素:\ n’);for(I=0;我结果输出:

标签:Inprintf


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 姜片祛湿减肥20斤,姜片祛湿减肥20斤真的假的(原来95%的人都是“假胖”)

下一篇: 火影忍者羁绊3.1b魔兽地图游戏介绍(火影忍者羁绊3.1b魔兽地图)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号