1.打印乘法口诀表

#include<stdio.h>
int main()
{ int i, j;
for (i=; i <= ; i++){
for (j=; j <= i; j++)
{
printf("%2d*%d=%d", i, j, i*j);/*此处使用%2d是为了将两个式子用空格分开,方便查看*/ }
printf("\n");
}
system("pause");
return ;
}

2.输出区间内[min.max]的素数

//第一种方法就是用min到max之间的每个数字,除以2到其本身前面的那一个数字,如果此过程中出现整除的现象,则该数不是素数。如果没有整除的现象,则该数为素数输出。

#include<stdio.h>
int main()
{
int i=;
int count=;
int sum = 0;
int min,max;
printf("请输入范围的边界值(以空格隔开):");
scanf("%d %d",&min,&max);
for(i=min;i<=max;i++)
{
int j=;
for(j=;j<=i;j++){
if(i%j==)
{
break;
}
}
if(i==j)
{
count++;
printf("%d ",i);
}
}
printf("\ncount=%d\n",count);
printf("\sum=%d\n",sum);
return ;
}
//2、第二种方法使用了SQRT函数,也就是平方根,这里的平方根是整数。众所周知,非素数可以写成除了1和它本身相乘的a*b方式,而a、b之间必有一个小于等于ab之积的开平方根;如果这个非素数能够被a整除,则相应的肯定会被b整除。这种方法用100到200之间的数字除以2到它的开平方根(如果该数的平方根是整数则可以除到),在此之间如果出现整除现象,则该数不是素数;如果没有出现整除现象,则该数是素数。显而易见,这种方法比第一种方法要简便,运行的次数少。

#include<stdio.h>
#include<math.h>
int main()
{
int i=;
int count=;
int sum = 0;
int min,max;
printf("请输入范围边界(以空格隔开)");
scanf("%d %d",&min,&max);
for(i=min;i<=max;i++)
{
int j=;
for(j=;j<=sqrt(i);j++)
{
if(i%j==)
{
break;
}
}
if(j>sqrt(i))
{
count++;
printf("%d ",i);
}
}
printf("\ncount=%d\n",count);
return ;
}
//3、第三种方法是对第二种方法的优化,原理如下:100到200之间的所有偶数都不是素数,所以可以剔除,直接对奇数进行判断,这样又可以让程序的运行时间减少一半。
#include<stdio.h>
#include<math.h>
int main()
{
int i=;
int count=;
for(i=;i<=;i++)
{
int j=;
for(j=;j<=sqrt(i);j++)
{
if(i%j==)
{
break;
}
}
if(j>sqrt(i))
{
count++;
printf("%d ",i);
}
}
printf("\ncount=%d\n",count);
return ;
}

4.输出1000到2000之间的瑞年

/*解题思路:如果某年是闰年,拿它一定满足下面两个条件中的一个:
①该年份数能被4整除且不能被100整除;
②该年份数能被400整除。
*/ int isLeapYear(int i)
{
if (((i % == ) && (i % != ))|| (i % == ))//判断闰年的条件:能被4整除并且不能被100整除或者能被400整除
return ;//判断是闰年
else
return ;//判断不是闰年
} int main()
{
int i = ;
printf("1000-2000年之间闰年:");
for (i = ; i <= ; i++) //1000-2000之间的闰年
{
if (isLeapYear(i))
printf("%d ", i);
}
printf("\n"); /*system("pause")**暂停,程序运行结束后不会直接退出程序,要等到输入任意字符后才退出。
在编程过程中经常遇到开始执行后结果框一闪即逝,这时候为了避免这种情况就可以插入这个语句,
当然getchar()也有类似作用,但有时候使用getchar()会发生错误,所以最好还是用system("pause")。*/**
system("pause");
return ; }

5.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

/*可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。*/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
int i, j, k;
for(i = ; i < ; i++)
{
for(j = ; j < ; j++)
{
for(k = ; k < ; k++)
{
if(i != j && i != k && j != k)
{
printf("%d%d%d\n" , i , j , k);
}
}
}
} return ;
}

6.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

.
#include <stdio.h> int main()
{
int i,t;
float sum=;
float a=,b=;
for(i=;i<=;i++)
{
sum=sum+a/b;
t=a;
a=a+b;
b=t;
}
printf("%9.6f\n",sum);
return ;
}
.
#include <stdio.h>
int main()
{
int i;
float a[];
float s;
a[]=;
a[]=;
s=a[]/a[];
for(i=;i<=;i++)
{
a[i]=a[i-]+a[i-];
s+=a[i]/a[i-];
}
printf("s=%f\n",s);
return ;
}
.
/*由规律可以看出,这其实是一个斐波那契数列的除法,我们可以直接用递归写一个斐波那契的通项。然后在求和。*/ #include <stdio.h> int Fibonacci(int a, int b, int n)
{
if (n < )
{
return ;
}
else if (n == )
{
return ;
}
else if (n == )
{
return b;
}
else
{
return Fibonacci(b, a + b, n - );
}
} int main(void)
{
float sum=;
int i;
for (i=;i<;i++)
{
float son = Fibonacci(,,i+);
float mother = Fibonacci(,,i);
// 这里不能直接用Fibonacci(1,1,i+1)/Fibonacci(1,1,i),不定义类型会返回一个整除的值,导致结果有误,这是个坑。
sum = sum + son/mother;
printf("%d/%d\n",Fibonacci(,,i+),Fibonacci(,,i));
}
printf("求和得 %9.6f",sum);
return ;
}

7.求sinx;

#include <math.h>
#include <stdio.h>
int main()
{
int n=,count=;
double x,term,sum;
scanf("%lf",&x);
term = x;
sum = x;
do{
term= -term*x*x/((n+)*(n+));
sum +=term;
n=n+;
count++;
}while(fabs(term)>=1e-); //注意10^-5的表达
printf("sin(x)=%lf,count=%d",sum,count);
return ;
}

送给张思漫,李志媛和王颖的C语言经典例题的更多相关文章

  1. 李洪强漫谈iOS开发[C语言-043]-判断较早日期

    李洪强漫谈iOS开发[C语言-043]-判断较早日期

  2. 李洪强漫谈iOS开发[C语言-043]-练习

    李洪强漫谈iOS开发[C语言-043]-行李重量计算价格

  3. 李洪强漫谈iOS开发[C语言-042]-简单计算器

    李洪强漫谈iOS开发[C语言-042]-简单计算器

  4. 李洪强漫谈iOS开发[C语言-041]-计算月份天数

    李洪强漫谈iOS开发[C语言-041]-计算月份天数 

  5. 李洪强漫谈iOS开发[C语言-040]-switch case

    李洪强漫谈iOS开发[C语言-039]-switch case 补充:

  6. 李洪强漫谈iOS开发[C语言-039]-剪刀石头布

     李洪强漫谈iOS开发[C语言-039]-剪刀石头布

  7. 李洪强漫谈iOS开发[C语言-038]-if else if语句

    李洪强漫谈iOS开发[C语言-038]-if else if语句

  8. 李洪强漫谈iOS开发[C语言-037]-if else 语句

    李洪强漫谈iOS开发[C语言-037]-if else 语句

  9. 李洪强漫谈iOS开发[C语言-010] - C语言简要复习

    // //  main.m //  05 - 简要复习 // //  Created by vic fan on 16/7/13. //  Copyright © 2016年 李洪强. All rig ...

随机推荐

  1. 在IIS和Nginx上通过代理部署基于ant-design-pro前端框架开发的应用

    一.本文解决的主要问题 通过对前端静态资源站点进行代理服务设置,实现对后端API接口的代理,从而实现前端的独立部署,即通过代理的设置实现对http://IP0:Port0/api/xxx的请求转发至h ...

  2. C# 静态类的使用

    静态类与非静态类基本相同,但存在一个区别:静态类不能实例化.也就是说,不能使用 new 关键字创建静态类类型的变量.因为没有实例变量,所以要使用类名本身访问静态类的成员. static class C ...

  3. kcp流模式与消息模式对比

    kcp的流模式,和消息模式 流模式: 更高的网络利用率 更大的传输速度 解析数据相对更复杂 消息模式: 更小的网络利用率 更小的传输速度 解析数据相对更简单 消息模式的示意图 http://www.p ...

  4. kafka学习默认端口号9092

    一 Kafka 概述1.1 Kafka 是什么在流式计算中,Kafka 一般用来缓存数据,Storm 通过消费 Kafka 的数据进行计算.1)Apache Kafka 是一个开源消息系统(微信公众号 ...

  5. CodeForces 122G Lucky Array(一脸懵逼的树状数组)

    Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal re ...

  6. 螺旋折线——第九届蓝桥杯C语言B组(省赛)第七题

    原创 如图p1.png所示的螺旋折线经过平面上所有整点恰好一次. 对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度. 例如dis(0, 1)=3, ...

  7. numpy数组与python的list互转,然后用json写入文件与c交互

    1.对于numpy的tofile方法,一个一维数组可以直接写成二进制形式,用c语言或者numpy.fromfile()可以读出来内容.而如果数组超过一维,tofile并不区分,也就是arr1=[1,2 ...

  8. Delphi 中调用JS文件中的方法

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  9. Android-Activity临时数据的保存

    Activity临时数据的保存是非常重要的,例如:一款小说APP应用,读者使用这款APP看到了223页,用户也没有去记看了多少页: 突然去接了个电话,或者开启的应用程序太多了,可能会导致这款APP应用 ...

  10. Postgres数据库在Linux中优化

    I/O 优化1 打开 noatime nodirtime,async 方法: 修改 /etc/fstab stat 命令查看 2 调整预读方法: 查看 sudo blockdev --getra /d ...