本文地址: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编程练习的更多相关文章

  1. 20155324 《Java程序设计》实验五 网络编程与安全

    20155324 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 编写MyBC.java实现中缀表达式转后缀表达式的功能 编写MyDC.java实现从上面功能中获取的表达式中 ...

  2. 20155326 《Java程序设计》实验五网络编程与安全实验报告

    20155326 <Java程序设计>实验五网络编程与安全实验报告 实验内容 任务一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...

  3. 20155301 《Java程序设计》实验五网络编程与安全

    20155301 <Java程序设计>实验五网络编程与安全 实验内容 实验1: 两人一组结对编程:参考http://www.cnblogs.com/rocedu/p/6766748.htm ...

  4. 20155308 《Java程序设计》实验五 网络编程与安全

    20155308 <Java程序设计>实验五 网络编程与安全 实验内容 任务一 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.ht ...

  5. 20155317 《Java程序设计》实验五网络编程与安全实验报告

    20155317 <Java程序设计>实验五网络编程与安全实验报告 遇到问题 在刚开始启动客户端或者服务端时,出现了一系列的错误情况,总是提示异常信息 后来经过询问同学,反应将端口号修改一 ...

  6. 20155320 《Java程序设计》实验五网络编程与安全实验报告

    20155320 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...

  7. 20155338 《JAVA程序设计》实验五网络编程与安全实验报告

    20155338 <JAVA程序设计>实验五网络编程安全实验报告 实验内容 实验一: •两人一组结对编程: •结对实现中缀表达式转后缀表达式的功能 MyBC.java •结对实现从上面功能 ...

  8. 20155339 《Java程序设计》实验五网络编程与安全实验报告

    20155339 <Java程序设计>实验五网络编程与安全实验报告 实验内容 实验一 1.两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/67667 ...

  9. 已看1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。[泛型]\

    1.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.[泛型]\1* ...

  10. 《C程序设计的抽象思维》2.10编程练习(未完)

    本文地址:http://www.cnblogs.com/archimedes/p/programming-abstractions-in-c-2.html,转载请注明源地址. 2.按照规定求圆柱的表面 ...

随机推荐

  1. 注意啦!10 个你需要了解的 Linux 网络和监控命令

    下面列出来的10个基础的每个Linux用户都应该知道的网络和监控命令.网络和监控命令类似于这些:hostname, ping, ifconfig, iwconfig, netstat, nslooku ...

  2. Windows 服务开发框架介绍 - Topshelf

    关于 TopShelf Topshelfis a framework for hosting services written using the .NET framework. The creati ...

  3. Laravel 5 事件的使用

    事件类通常被保存在 app/Events 目录下,而它们的处理程序则被保存在 app/Handlers/Events 目录下. 事件的创建 下面我们用artisan来创建一个事件,比如叫CqhTest ...

  4. Android上的事件流操作数据库

    最近在浏览某篇有关事件流的文章时,里面提到了数据的流处理,兴趣来了,就想看看能否在Android端实现一个. 根据文章的介绍,将每次数据的变更事件,像是插入,删除或者更新等,记为一个不可变的事件,让数 ...

  5. C# 获取磁盘空间大小的方法

    方法一:利用System.IO.DriveInfo.GetDrives方法来获取 /// /// 获取指定驱动器的空间总大小(单位为B) /// /// 只需输入代表驱动器的字母即可 (大写) /// ...

  6. SqL数据库发布订阅非聚集索引没有被复制到订阅服务器的解决方案

    Non-Clustered Indexes not copying in Transactional Replication : SQL Server 2008 方法1: You have trans ...

  7. 004_URL 路由 - 定制路由系统 & 使用区域

    定制路由系统 路由系统是灵活可配置的,当然还可以通过下面这两种方式定制路由系统,来满足其他需求. 1.  通过创建自定义的RouteBase实现: 2.  通过创建自定义路由处理程序实现. 创建自定义 ...

  8. Import-Module ServerManager Import-Module : 未能加载指定的模块“ServerManager”,因为在任何模块目录中都没有找到有效模块文件...(通过Setup Factory调用PowerShell的脚本)

    操作系统: Windows server 2008 R2(64位) C:\Windows\System32\WindowsPowerShell\v1.0\Modules 下有ServerManager ...

  9. 【BZOJ 4551】【TJOI2016】【HEOI2016】树

    http://www.lydsy.com/JudgeOnline/problem.php?id=4551 题目描述 给定一棵有根树(根为 1),有以下两种操作:1. 标记操作:对某个结点打上标记(在最 ...

  10. 后缀数组---New Distinct Substrings

    Description Given a string, we need to find the total number of its distinct substrings. Input T- nu ...