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和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- golang 获取指定目录下的子文件列表
GO语言按照深度遍历文件 原创 2016年07月20日 09:45:19 标签: go语言 / 遍历 / string 1971 常规方法不使用pathfilepath包 go的filepath包 g ...
- [原创]java WEB学习笔记09:ServletResponse & HttpServletResponse
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp6 信息搜集与漏洞扫描
目录 20165101刘天野 2018-2019-2<网络对抗技术>Exp6 信息搜集与漏洞扫描 1.实验内容 1.1 各种搜索技巧的应用 1.2 DNS IP注册信息的查询 1.3 基本 ...
- neutron qos Quality of Service
Quality of Service advanced service is designed as a service plugin. The service is decoupled from t ...
- Python快速学习-基础语法
- 兼容IE8及其他浏览器的回车事件
//阻止默认浏览器行为 function stopDefault(e) { //如果提供了事件对象,则这是一个非IE浏览器 if(e && e.preventDefault) { // ...
- Linux课程---8、Linux启动流程
Linux课程---8.Linux启动流程 一.总结 一句话总结: grub启动引导界面(比如装了多系统,选择系统),找到linux内核 启动init程序,加载各种驱动 1.进入grub界面选择相应的 ...
- 分享知识-快乐自己:ActiveMQ 安装部署
1):下载 ActiveMQ tar 包 2):上传到 服务器中 3):解压到 指定目录中 [root@admin tools]# tar -zxvf apache-activemq-5.2.0-bi ...
- g++能过,c++过不了
可能原因: 1.在递归的时候,递归函数中忘记加返回return.(详见Wrong Answer,Memory Limit Exceeded) 代码1:错误 g++--------accepted c+ ...
- Mysql总结_02_mysql数据库忘记密码时如何修改
1.从cmd进入mysql的bin下,输入命令 mysqld --skip-grant-tables 回车 注:(输入命令前,确保在任务管理器中已没有mysql的进程在运行,可输入命令:net s ...