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和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...
随机推荐
- 实用篇:说说我在JavaScript项目中使用的工具类
在JavaScript的开发中,我们都会写一些工具类来帮我们简化一些业务操作的逻辑,一下就貼几个我在项目开发过程中常用的工具类.表达能力有限,各位看官还是看源码吧. 一.日期处理工具类. /** * ...
- javascript常见的20个问题与解决方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- [原创]java WEB学习笔记27:深入理解面向接口编程
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Referrer-Policy常见属性
Referrer-Policy(来源协议)用来规定什么情况下显示Referer字段及refer字段内显示多少信息. 备注: referer实际上是对referrer的误写,因为写错的人多了也就正确了. ...
- PyVmomi Clone_VM with CustomizaitonSpec
调用CustomizaitonSpec来Clone VM ''' Created on 2017-09-03 @author: Vincen ''' from pyVmomi import vim f ...
- FOJ 2213 简单几何
题意:给你两个圆的圆心坐标和半径,判断两个圆公切线数目. 思路:考虑两个圆间公切线的情况,两个圆的位置关系分为相离,相交,外切,内切,内含,重合,公切线数分别为4,2,3,1,0,-1. #inclu ...
- 算法(Algorithms)第4版 练习 1.5.13
package com.qiusongde; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; pu ...
- sqoop导入增量数据
使用sqoop导入增量数据. 核心参数 --check-column 用来指定一些列,这些列在增量导入时用来检查这些数据是否作为增量数据进行导入,和关系行数据库中的自增字段及时间戳类似这些被指定的列的 ...
- java学习进度条四
- 封装 oschina.net 表情选择
1. [代码]jquery.facial.js //从OSCHINA.NET 提取出来的 表情选择 插件 by zhouxiang //如果有不满足的地方 可以自己改改 没事随便写写的 style 和 ...