《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.按照规定求圆柱的表面 ...
随机推荐
- 【weka应用技术与实践】过滤器
weka中的过滤器主要用于数据预处理阶段对数据集的各种操作. 今天简单地使用一下过滤器: 首先打开一个自带数据集weather.numeric.arff,这是一个关于通过天气条件,气温以及风力等因素来 ...
- 在android中如何通过点击edittext之外的部分使软键盘隐藏
我们知道在android中点击edittext框就会自动弹出软键盘,那怎么通过点击edittext之外的部分使软键盘隐藏呢?(微信聊天时的输入框就是这个效果,这个给用户的体验还是很不错的) 首先我们要 ...
- mysql数据库事件调度(Event)
mysql中的事件调度器可以定时对数据库增加,删除和执行操作,相当于数据库中的临时触发器,与Linux系统中的执行计划任务一样,这样就可以大大降低工作量. 1.开启事件调度器 [root@node1 ...
- [C] static和extern的作用
static: 当用于函数定义或者代码块之外的变量声明时,static关键字用于修改标识符的链接属性,从external改为internal. 当用于代码块内部的变量声明时,static关键字用于修改 ...
- Cocos2d-x数据存储
分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式: 主要代码: bool DataScene::init(){ if (!Layer::init()){ return f ...
- Docker 定制容器镜像的2种方法
一.需求 由于在测试环境中使用了docker官网的centos 镜像,但是该镜像里面默认没有安装ssh服务,在做测试时又需要开启ssh.所以上网也查了查资料.下面详细的纪录下.在centos 容器内安 ...
- CentOS6.5菜鸟之旅:文件权限详解
一.前言 Linux下所有资源.设备均被视作文件来操作,而文件权限则是决定用户可各文件操作的范围,无论是平时使用Linux,还是写程序均涉及这方面.以下为个人学习的整理,供以后查阅. 二. 三种权限 ...
- C#设计模式——抽象工厂模式(Abstract Factory Pattern)
一.概述在软件开发中,常常会需要创建一系列相互依赖的对象,同时,由于需求的变化,往往存在较多系列对象的创建工作.如果采用常规的创建方法(new),会造成客户程序和对象创建工作的紧耦合.对此,抽象工厂模 ...
- 快捷获取浏览器(navigator对象)的全部属性
理论: navigator对象包含关于web浏览器的信息,浏览器的类型,版本信息都可以从该对象获取. 属性 说明 appCodeName 浏览器代码说明 appName 浏览器名称 appVe ...
- 初识Windows窗体(包括各种控件,属性,方法)
什么是Wind ows窗体? 顾名思义,win dows窗体就是将一些所必须的信息通过窗体的形式展示给客户看.例如:我们经常玩的QQ登陆界面,微信登陆界面,等等,都是以窗体的形式将信息展示给我们看的. ...