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和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- CVPR 2018:diractNets网络,有残差网络好吗?
我把我明天讲PPT的材料弄上来了........哈 哈哈
- LeetCode:救生艇【881】
LeetCode:救生艇[881] 题目描述 第 i 个人的体重为 people[i],每艘船可以承载的最大重量为 limit. 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit. ...
- SQL语法结构
目录 一.增 1.增加字段 2.新建约束 二.删 1.删除字段 2.删除约束 三.改 1.修改字段 一.增 1.增加字段: ALTER TABLE [表名] ADD [字段名] NVARCHAR () ...
- IOS 判断当前UIViewController 是否正在显示
我通常的做法是根据视图控制器的生命周期来判断,其是否是正在使用的状态. 举例 设一个实例布尔变量isVisible 在 -ViewWillAppear 里面 isVisible = YES ; 在 ...
- MySQL与Oracle的语法区别详细对比
MySQL与Oracle的语法区别详细对比 Oracle和mysql的一些简单命令对比在本文中将会涉及到很多的实例,感兴趣的你不妨学习一下,就当巩固自己的知识了 Oracle和mysql的一些简单 ...
- python详细目录
python第一篇 第二篇.初识列表字典元祖循环 第三篇.内置方法 第四篇.编码解码 列表.元祖 第五篇.数据类型 第六篇 函数 第七篇.函数二 第八篇.递归.装饰器 第九篇 正则表达式 第十篇.模块 ...
- vue2.0 构建单页应用最佳实战
vue2.0 构建单页应用最佳实战 前言 我们将会选择使用一些 vue 周边的库vue-cli, vue-router,vue-resource,vuex 1.使用 vue-cli 创建项目2.使 ...
- Java_异常_02_java.lang.NoClassDefFoundError: org/apache/log4j/Level
总结:解析Json时,除了要导入json-lib-2.2-jdk15.jar外,还要导入: commons-beanutils.jar, commons-httpclient.jar, commons ...
- Oracle学习笔记_03_单行函数
1.SQL函数: 单行函数.多行函数 单行函数: 操作数据对象 接受参数返回一个结果 只对一行进行变换 每行返回一个结果 可以转换数据类型 ...
- ffmpeg代码实现自定义encoder
1.概述 本文主要讲述如何用ffmpeg代码实现自己的encoder. 2.代码 /* *本程序主要实现一个自己的encoder并加入到encoder链中去,供api调用 *作者:缪国凯(MK) *8 ...