10个C语言经典
1、计算Fibonacci数列
Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。
C语言实现的代码如下:
/* t3ing Fibonacci series up to certain number entered by user. */ #include <stdio.h> int main() { , t2=, t3=, num, sum=; printf("Enter an integer: "); scanf("%d",&num); printf("Fibonacci Series: %d,%d,",t1,t2); /* t3ing first two terms */ t3=t1+t2; while(t3<num) { sum=sum+t3; printf("%d,",t3); t1=t2; t2=t3; t3=t1+t2; } printf("\nsum=%d\n",sum); ; }
Fibonacci.c
2、回文检查
//用数组 #include <stdio.h> void main() { ]; ,j=; printf("Please input string:"); gets(a); while(a[i]!='\0') i++; i--; for(;j<=i;i--,j++) { if(a[i]!=a[j]) break; } if(j<=i) printf("%s is not a palindrome\n",a); else printf("%s is a palindrome\n",a); } //用指针 #include<stdio.h> int hw(char a[]) { char *p,*q; p=q=a; while(*q!='\0'){ q++; } q--; while(p<q) { if(*p==*q){ p++; q--; } else ; } ; } int main() { ]; gets(a); if(hw(a)) printf("是回文!\n"); else printf("不是回文!\n"); }
hw.c
3、质数检查
注:1既不是质数也不是合数。
/* C program to check whether a number is prime or not. */ #include <stdio.h> int main() { ; printf("Enter a positive integer: "); scanf("%d",&n); ;i<=n/;++i) { ) { flag=; break; } } ) printf("%d is a prime number.",n); else printf("%d is not a prime number.",n); ; }
check.c
4、打印金字塔和三角形
使用 * 建立三角形
#include <stdio.h> int main() { int i,j,rows; printf("Enter the number of rows: "); scanf("%d",&rows); ;i<=rows;++i) { ;j<=i;++j) { printf("%d ",j); } printf("\n"); } ; }
triangle.c
#include <stdio.h> int main() { ; printf("Enter the number of rows: "); scanf("%d",&rows); ;i<=rows;++i) { ;space<=rows-i;++space) { printf(" "); } *i-) { printf("* "); ++k; } k=; printf("\n"); } ; }
pyramid.c
5、简单的加减乘除计算器
源代码:
/* Source code to create a simple calculator for addition, subtraction, multiplication and division using switch...case statement in C programming. */ # include <stdio.h> int main() { char op; float num1,num2; printf("Enter operator either + or - or * or divide : "); scanf("%c",&op); printf("Enter two operands: "); scanf("%f%f",&num1,&num2); switch(op) { case '+': printf("%.1f + %.1f = %.1f",num1, num2, num1+num2); break; case '-': printf("%.1f - %.1f = %.1f",num1, num2, num1-num2); break; case '*': printf("%.1f * %.1f = %.1f",num1, num2, num1*num2); break; case '/': printf("%.1f / %.1f = %.1f",num1, num2, num1/num2); break; default: /* If operator is other than +, -, * or /, error message is shown */ printf("Error! operator is not correct"); break; } ; }
calculator.c
6、检查一个数能不能表示成两个质数之和
源代码:
#include <stdio.h> int prime(int n); int main() { ; printf("Enter a positive integer: "); scanf("%d",&n); ; i<=n/; ++i) { ) { ) { printf("%d = %d + %d\n", n, i, n-i); flag=; } } } ) printf("%d can't be expressed as sum of two prime numbers.",n); ; } int prime(int n) /* Function to check prime number */ { ; ; i<=n/; ++i) ) flag=; return flag; }
6.c
7、用递归的方式颠倒字符串
源代码:
/* Example to reverse a sentence entered by user without using strings. */ #include <stdio.h> void Reverse(); int main() { printf("Enter a sentence: "); Reverse(); ; } void Reverse() { char c; scanf("%c",&c); if( c != '\n') { Reverse(); printf("%c",c); } }
Reverse.c
8、实现二进制与十进制之间的相互转换
/* C programming source code to convert either binary to decimal or decimal to binary according to data entered by user. */ #include <stdio.h> #include <math.h> int binary_decimal(int n); int decimal_binary(int n); int main() { int n; char c; printf("Instructions:\n"); printf("1. Enter alphabet 'd' to convert binary to decimal.\n"); printf("2. Enter alphabet 'b' to convert decimal to binary.\n"); scanf("%c",&c); if (c =='d' || c == 'D') { printf("Enter a binary number: "); scanf("%d", &n); printf("%d in binary = %d in decimal", n, binary_decimal(n)); } if (c =='b' || c == 'B') { printf("Enter a decimal number: "); scanf("%d", &n); printf("%d in decimal = %d in binary", n, decimal_binary(n)); } ; } int binary_decimal(int n) /* Function to convert binary to decimal.*/ { , i=, rem; ) { rem = n%; n/=; ,i); ++i; } return decimal; } int decimal_binary(int n) /* Function to convert decimal to binary.*/ { , binary=; ) { rem=n%; n/=; binary+=rem*i; i*=; } return binary; }
decimal_binary.c
9、使用多维数组实现两个矩阵的相加
源代码:
#include <stdio.h> int main(){ ][],b[][],sum[][],i,j; printf("Enter number of rows (between 1 and 100): "); scanf("%d",&r); printf("Enter number of columns (between 1 and 100): "); scanf("%d",&c); printf("\nEnter elements of 1st matrix:\n"); /* Storing elements of first matrix entered by user. */ ;i<r;++i) ;j<c;++j) { printf(,j+); scanf("%d",&a[i][j]); } /* Storing elements of second matrix entered by user. */ printf("Enter elements of 2nd matrix:\n"); ;i<r;++i) ;j<c;++j) { printf(,j+); scanf("%d",&b[i][j]); } /*Adding Two matrices */ ;i<r;++i) ;j<c;++j) sum[i][j]=a[i][j]+b[i][j]; /* Displaying the resultant sum matrix. */ printf("\nSum of two matrix is: \n\n"); ;i<r;++i) ;j<c;++j) { printf("%d ",sum[i][j]); ) printf("\n\n"); } ; }
arry.c
10、矩阵转置
源代码:
#include <stdio.h> int main() { ][], trans[][], r, c, i, j; printf("Enter rows and column of matrix: "); scanf("%d %d", &r, &c); /* Storing element of matrix entered by user in array a[][]. */ printf("\nEnter elements of matrix:\n"); ; i<r; ++i) ; j<c; ++j) { printf(,j+); scanf("%d",&a[i][j]); } /* Displaying the matrix a[][] */ printf("\nEntered Matrix: \n"); ; i<r; ++i) ; j<c; ++j) { printf("%d ",a[i][j]); ) printf("\n\n"); } /* Finding transpose of matrix a[][] and storing it in array trans[][]. */ ; i<r; ++i) ; j<c; ++j) { trans[j][i]=a[i][j]; } /* Displaying the transpose,i.e, Displaying array trans[][]. */ printf("\nTranspose of Matrix:\n"); ; i<c; ++i) ; j<r; ++j) { printf("%d ",trans[i][j]); ) printf("\n\n"); } ; }
resarry.c
10个C语言经典的更多相关文章
- 【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)
经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n ...
- C语言经典例题100
C语言经典例题100 来源 http://www.fishc.com 适合初学者 ----------------------------------------------------------- ...
- C语言经典算法 - 多维矩阵转一维矩阵的代码
下边内容内容是关于C语言经典算法 - 多维矩阵转一维矩阵的内容,应该能对码农也有好处. #include <stdio.h>#include <stdlib.h>int mai ...
- C语言经典例题(菜鸟教程100例)
学习c语言基础,怎么能少了菜鸟教程上的100道例题呢,这里整理一下每道题的链接,希望大家能享受学习的乐趣 1,有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,企业发放 ...
- C 语言经典100例
C 语言经典100例 C 语言练习实例1 C 语言练习实例2 C 语言练习实例3 C 语言练习实例4 C 语言练习实例5 C 语言练习实例6 C 语言练习实例7 C 语言练习实例8 C 语言练习实例9 ...
- C语言经典100例(51-100)
[程序51] 题目:学习使用按位与 & . 分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 #include "stdio.h" ...
- C语言经典100例(1-50)
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. main ...
- 猴子吃桃问题之《C语言经典案例分析》
猴子吃桃问题之<C语言经典案例分析>一.[什么是猴子吃桃] 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个.第二天早上又将第一天剩下的桃子吃掉一半 ...
- C语言经典100例-ex001
系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- DOM指针
dom节点改变 会自动改变节点的指针 child = formula.firstChild while(child){ next = child.nextSibling; formula.remove ...
- ios中文模糊搜索兼容问题
$(function(){ var cpLock = true; $("input[name='name']").off().on({ compositionstart: func ...
- 启动Hadoop时DFSZKFailoverController没有启动
在启动Hadoop成功后,并没有报错信息,jps查看进程,发现DFSZKFailoverController没有启动成功,后来发现是因为防火墙的原因,关掉重试就OK了 systemctl stop f ...
- java:安装Runtime Environment,设置Tomcat Server 的方法
Eclipse 中开发Webapp, 一般需要配置Tomcat Server, 以便在Eclipse 中进行Debug.具体的步骤如下: 1. Windows ==>Preference ==& ...
- 图像处理检测方法 — SIFT和SURF
0.特征与匹配方法总结汇总对比 参考网址:http://simtalk.cn/2017/08/18/%E7%89%B9%E5%BE%81%E4%B8%8E%E5%8C%B9%E9%85%8D/#ORB ...
- 自定义EL函数、自定义JSTL标签
自定义EL函数 1.做一个类(静态) package com.maya.el; public class ELBiaoDaoShi { public static String TiHuan(Stri ...
- [原创]Java开发在线编辑Word同时实现全文检索
一.背景介绍 Word文档与日常办公密不可分,在实际应用中,当某一文档服务器中有很多Word文档,假如有成千上万个文档时,用户查找打开包含某些指定关键字的文档就变得很困难,一般情况下能想到的解决方案是 ...
- listen and translation exercise 49
Huh? Appears to Be Universally Understood What's the most universal utterance in languages across th ...
- ATL实现COM组件
参考文献:https://blog.csdn.net/Marcus2006/article/details/41978799 ATL实现COM组件比较简单,关键是在程序中如何调用该组件. vs2010 ...
- VC++6.0编译环境介绍
大家可能一直在用VC开发软件,但是对于这个编译器却未必很了解.原因是多方面的.大多数情况下,我们只停留在"使用"它,而不会想去"了解"它.因为它只是一个工具,我 ...