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和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- foreign key
http://sevenseacat.net/2015/02/24/add_foreign_key_gotchas.html https://robots.thoughtbot.com/referen ...
- c的详细学习(2)数据类型,运算符与表达式
本节用来介绍c语言中的数据类型和运算符. (1)c语言的基本符号: 任何一种基本语言都有自己的基本词汇表.c语言的基本词汇表有一下几部分: *数字10个: *英文字母:大小 ...
- LINQ 学习路程 -- 查询操作 OfType
OfType操作根据集合中的元素是否是给定的类型进行筛选 IList mixedList = new ArrayList(); mixedList.Add(); mixedList.Add(" ...
- 希尔排序(Shell Sort)
一.思路 希尔排序是基于插入排序算法,通过允许不相邻的元素进行交换这一简单的改进,使数组变为局部有序,最终再用插入排序. 希尔排序的思想是使数组中任意间隔h的元素都是有序的.这样的数组被称为h有序数组 ...
- 投影矩阵、最小二乘法和SVD分解
投影矩阵广泛地应用在数学相关学科的各种证明中,但是由于其概念比较抽象,所以比较难理解.这篇文章主要从最小二乘法的推导导出投影矩阵,并且应用SVD分解,写出常用的几种投影矩阵的形式. 问题的提出 已知有 ...
- ES索引瘦身 压缩——_source _all 均disable filed store为no,引入第三方DB存储原始数据,去掉pos倒排和doc_values,强制定期merge segments,将所有fileds合并为一个field big string
原始数据:835MB ES 设置了_source _all disabled 且设置了仅仅存docs倒排Wed Feb 22 11:58:27 CST 2017Before size:1 /home/ ...
- 问题杂烩(scrollTop/背景透明度动画)
今天给同学找我帮忙写js,是公司里的活..我是不是应该跟他要钱哈哈,不过一顿饭肯定是免不了的了. 言归正传,今天写了三个小东西,因为兼容性的问题,用jq写的(很是别扭的说,但是没办法啊,一边看api一 ...
- 绘图工具--turtle模块
turtle模块主要使用两个类,一个是TurtleScreen类,表示画布(窗口),用来展示画的位置:一个是Turtle类,用来充当画笔,用来画. 两个类的方法也以同名的函数的形式存在,所以可以以面向 ...
- codeforces 617E E. XOR and Favorite Number(莫队算法)
题目链接: E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes i ...
- 不要使用Android Studio的Git Commit了---->记一次debug
今天下午写了一些代码,吃晚饭时分用Android Studio commit了一下,不知道有没有选择Commit and push,结果刚才代码出bug我想回滚到上个版本的时候,发现Android S ...