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和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- C#快速入门笔记(1)——基础语法
C#快速入门笔记(1)——基础语法 总体框架:
- 牛客小白月赛1 D 多项式乘法 【循环】
题目链接 https://www.nowcoder.com/acm/contest/85/D 思路 因为数据范围较小 ,所以 可以直接 一个一个乘 AC代码 #include <cstdio&g ...
- [转]详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...
- mysql高可用研究(二) 主从+MHA+Atlas
关于Atlas的详细介绍请访问:https://github.com/Qihoo360/Atlas/blob/master/README_ZH.md 为什么要使用Atlas?应用程序直连数据库不好吗? ...
- 使用ksar解析sar监控日志
sar 是属于sysstat包中的一个工具 安装sysstat包后,默认创建一个/etc/cron.d/sysstat文件,其默认内容为: # run system activity accounti ...
- 记录quick cocos2d-x3.2升级至cocos2d-x3.8
目前为止,quickcocos2d-x没有3.8版本,想用3.8又想用quick,所以只能自己升级了,自己先记录下,防止忘记. cocos2d-x3.8里面有quick framework,而simu ...
- PHP继承中$this的问题
在父类中的构造函数中使用$this , 这是$this指的是正在实例化的子类对象,不管是parent还是继承调用父类的构造函数. 如: class CompanyController extends ...
- Oracle 11g的7个服务详解
成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shad ...
- Filter/replace - VBA
Auto filter: ActiveSheet.Range("A:F").AutoFilter Field:=3, Criteria1:="*Agent*" ...
- MFC实现普通DLL
库有两种:动态链接库和静态链接库. 一,使用动态链接库: 通过项目——属性——配置属性——常规——项目默认值——配置类型下,选择动态库(.dll)选项 这样会生成.lib和.dll两种文件. 只是该. ...