《C程序设计的抽象思维》1.9编程练习
本文地址:http://www.cnblogs.com/archimedes/p/programming-abstractions-in-c-1.html,转载请注明源地址。
1、温度转换:
#include<stdio.h>
int main()
{
double C;
while(~scanf("%lf", &C))
printf("%lf\n", * C * 1.0 / + );
return ;
}
2、长度转换:
#include<stdio.h>
int main()
{
double YCI, YC, M;
while(~scanf("%lf", &M)){
printf("YCI:%lf\n", 1.0 / 0.0254);
printf("YC:%lf\n", 1.0 / );
}
return ;
}
3、计算1+2+3+……+100
#include<stdio.h>
int main()
{
int sum = ;
for(int i = ; i <= ; i++)
sum += i;
printf("%d\n", sum);
return ;
}
4、计算序列值
#include<stdio.h>
int main()
{
int N, i, sum;
scanf("%d", &N);
sum = ;
i = ;
while(i <= N)
sum += * (i++) - ;
printf("%d\n", sum);
return ;
}
5、按照指定格式输入一个整数序列中的最大值
#include<stdio.h>
int main()
{
int max, n, i;
printf("This program finds the largest integer in a list.\n");
printf("Enter 0 to sigal the end of the list.\n");
printf("? ");
max = -;
while(scanf("%d", &n) && n) {
if(max < n) max = n;
printf("? ");
}
printf("The largest value is %d\n", max);
return ;
}
6、反转打印输入的整数
#include<stdio.h>
void print(int N)
{
printf("The reverse number is ");
while(N) {
printf("%d", N % );
N /= ;
}
printf("\n");
}
int main()
{
int N;
printf("This program reverses the digits in an integer.\n");
printf("Enter a positive integer: ");
scanf("%d", &N);
print(N);
return ;
}
7、寻找完全数
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
bool IsPerfect(int n)
{
int m, sum, t;
sum = ;
m = (int)sqrt(n);
for(int i = ; i <= m; i++){
if(n % i == ) {
if(i * i == n) {
sum += m;
} else {
sum += (i + n / i);
}
}
}
if(sum == n)
return true;
else
return false;
}
int main()
{
for(int i = ; i <= ; i++) {
if(IsPerfect(i))
printf("%d\n", i);
}
return ;
}
8、按照指定格式分解质因数
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
#define N 100000
int isprime[N];
bool prime(int n)
{
int i;
for(i = ; i * i <= n; i++) {
if(n % i == )
return false;
}
return true;
}
void init()
{
int i, k;
k = ;
for(i = ; i < ; i++) {
if(prime(i))
isprime[k++] = i;
}
}
void solve()
{
int i, n, flag, k, t;
init();
printf("Enter number to be factored: ");
while(~scanf("%d", &n)) {
k = flag = ;
if(prime(n)) {
printf("%d\n", n);
} else {
t = n;
while(isprime[k] < n) {
while(t % isprime[k] == ) {
if(!flag) {
flag = ;
printf("%d", isprime[k]);
} else {
printf(" * %d", isprime[k]);
}
t /= isprime[k];
}
k++;
}
printf("\n");
}
printf("Enter number to be factored: ");
}
}
int main()
{
solve();
return ;
}
9、浮点数按照规则转化为整数
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
void Round(float n)
{
int m;
m = floor(n);
if(n > ) {
if(n - m < 0.5) {
printf("%d\n", m);
} else {
printf("%d\n", m + );
}
} else {
if(n - 0.5 > m) {
printf("%d\n", m + );
} else {
printf("%d\n", m);
}
} }
int main()
{
float n;
while(~scanf("%f", &n))
Round(n);
return ;
}
10、利用莱布利兹公式计算PI
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
double count(int n)
{
int t, i;
double ans = 0.0;
t = ;
for(i = ; i <= n; i++) {
ans += t * 1.0 / ( * i - );
t *= -;
}
return * ans;
}
int main()
{
printf("%f\n", count());
return ;
}
11、通过扇形的面积近似计算PI
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
#define N 100
void solve()
{
int i;
double w, r, ans, x;
r = 2.0;
w = r / N;
ans = 0.0;
for(i = ; i <= N; i++) {
x = w * (i - 0.5);
ans += sqrt(r * r - x * x) * w;
}
printf("%f\n", ans);
}
int main()
{
solve();
return ;
}
《C程序设计的抽象思维》1.9编程练习的更多相关文章
- 20155324 《Java程序设计》实验五 网络编程与安全
20155324 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面功能中获取的表达式中 ...
- 20155326 《Java程序设计》实验五网络编程与安全实验报告
20155326 <Java程序设计>实验五网络编程与安全实验报告 实验内容 任务一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 20155301 《Java程序设计》实验五网络编程与安全
20155301 <Java程序设计>实验五网络编程与安全 实验内容 实验1: 两人一组结对编程:参考http://www.cnblogs.com/rocedu/p/6766748.htm ...
- 20155308 《Java程序设计》实验五 网络编程与安全
20155308 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.ht ...
- 20155317 《Java程序设计》实验五网络编程与安全实验报告
20155317 <Java程序设计>实验五网络编程与安全实验报告 遇到问题 在刚开始启动客户端或者服务端时,出现了一系列的错误情况,总是提示异常信息 后来经过询问同学,反应将端口号修改一 ...
- 20155320 《Java程序设计》实验五网络编程与安全实验报告
20155320 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 20155338 《JAVA程序设计》实验五网络编程与安全实验报告
20155338 <JAVA程序设计>实验五网络编程安全实验报告 实验内容 实验一: •两人一组结对编程: •结对实现中缀表达式转后缀表达式的功能 MyBC.java •结对实现从上面功能 ...
- 20155339 《Java程序设计》实验五网络编程与安全实验报告
20155339 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...
- 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\
1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...
- 《C程序设计的抽象思维》2.10编程练习(未完)
本文地址:http://www.cnblogs.com/archimedes/p/programming-abstractions-in-c-2.html,转载请注明源地址. 2.按照规定求圆柱的表面 ...
随机推荐
- 说说你所熟知的MSSQL中的substring函数
说说你所熟知的MSSQL中的substring函数 *:first-child { margin-top: 0 !important; } body>*:last-child { margin- ...
- iOS-Block的多种使用
一.图 二.代码 1.viewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewControll ...
- C#语法糖之 session操作类 asp.net
用法: //声名一个数据集合 var listString = new List<string>() { "a", "b", "c&quo ...
- Entity Framework优缺点及使用方法总结
Entity Framework是M$提供的一个ORM框架,它旨在为小型应用程序中数据层的快速开发提供便利. nuget上185W多的下载量,说明.Net开发人员还是比较喜欢用EF的.但是EF在提供了 ...
- 浅谈Struts2拦截器的原理与实现
拦截器与过滤器 拦截器是对调用的Action起作用,它提供了一种机制可以使开发者定义在一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行.同时也是提供了 ...
- 组合数学 - 波利亚定理 --- poj : 2154 Color
Color Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7873 Accepted: 2565 Description ...
- P6 EPPM Installation and Configuration Guide 16 R1 April 2016
P6 EPPM Installation and Configuration Guide 16 R1 April 2016 Contents About Installing and ...
- C#设计模式——模板方法(Template Method)
一.概述在软件开发中,对某一项操作往往有固定的算法结构,而具体的子步骤会因为不同的需要而有所不同.如何可以在稳定算法结构的同时来灵活应对子步骤变化的需求呢?二.模板方法模板方法是一种常见的设计模式,它 ...
- android sdk 镜像
大连东软信息学院镜像服务器地址:- http://mirrors.neusoft.edu.cn 端口:80北京化工大学镜像服务器地址:- IPv4: http://ubuntu.buct.edu.cn ...
- Python入门笔记(26):Python执行环境
一.python特定的执行环境 在当前脚本继续进行 创建和管理子进程 执行外部命令或程序 执行需要输入的命令 通过网络来调用命令 执行命令来创建需要处理的输出 动态生成Python语句 导入Pytho ...