1.题略

/*返回较小值,设计驱动程序测试该函数*/
#include <stdio.h>
double min (double a, double b); int main (void)
{
double x, y; printf ("Please enter two numbers: \n");
scanf ("%lf %lf", &x, &y);
printf ("The smaller one is %lf\n", min (x, y));
return ;
} double min (double a, double b)
{
return (a < b) ? a: b;
}

2.题略

/**/
#include <stdio.h>
void chline (char, int, int); int main (void)
{
int i, j;
char ch; printf ("Please enter a char and two int: \n");
scanf ("%c %d %d", &ch, &i, &j);
chline (ch, i, j);
return ;
} void chline (char ch, int i, int j)
{
int count;
for (count = ; count <= j; count++)
{
if (count < i)
putchar (' ');
if (count >= i && count <= j)
putchar (ch);
if (count < || count > j)
break;
}
putchar ('\n');
}

3.题略

/**/
#include <stdio.h>
void p_ch (char, int, int); int main (void)
{
int i, j;
char ch; printf ("Please enter a char you like: \n");
scanf ("%c", &ch);
printf ("How many of them do you want to see in a line: \n");
scanf ("%d", &i);
printf ("How many lines do you want to have: \n");
scanf ("%d", &j);
p_ch (ch, i, j);
printf ("Is it what you want? \n");
return ;
} void p_ch (char ch, int cols, int rows)
{
int i, j;
for (i = ; i <= rows; i++)
{
for (j = ; j <= cols; j++)
putchar (ch);
printf ("\n");
}
}

4.题略

/**/
#include <stdio.h>
double calculate (double, double); int main (void)
{
double a, b;
printf ("input two doubles: ");
scanf ("%lf %lf", &a, &b);
printf ("1 / ((1/x + 1/y) / 2) = %.3f\n", calculate (a, b));
return ;
} double calculate (double x, double y)
{
return / ((/x + /y) / );
}

5.题略

/**/
#include <stdio.h>
void larger_of (double *, double *); int main (void)
{
double a, b;
printf ("Please enter two numbers: ");
scanf ("%lf %lf", &a, &b);
larger_of (&a, &b);
printf ("Now the a is %.2f and b is %.2f", a, b);
return ;
} void larger_of (double * x, double * y)
{
*x = *y = (*x > *y) ? *x : *y;
}

6.题略

/**/
#include <stdio.h>
void Judge(int ch); int main(void)
{
int ch; printf("enter some txt to be analyzed(ctrl+z to end):\n");
while ((ch = getchar()) != EOF)
Judge(ch);
printf("Done\n");
} void Judge(int ch)
{
if (ch>= && ch<=) printf("%c is number %d\n", ch, ch-);
else if (ch>= && ch<=) printf("%c is number %d\n", ch, ch-);
else printf("%c is not a letter\n",ch);
}

7.题略

#include <stdio.h>
double power(double n, int p); int main (void)
{
double Do;
int In; printf("Please enter a double and a int(to calculate pow):\n");
while (scanf("%lf %d",&Do, &In))
{
printf("%lf\'s %d mi is %lf\n", Do, In, power(Do, In));
}
printf("Done!\n");
} double power(double n, int p)
{
int i;
double pow=; if (n==)
return ; if (p==)
return ;
else if (p > )
{
for (i=; i<p; i++)
pow*=n;
return pow;
}
else if (p < )
{
for (i=; i<(-p); i++)
pow*=n;
return /pow;
}
}

8.题略

主函数与7题相同,关键是幂函数(递归形式),代码如下,还是挺考验逻辑的。

double power(double n, int p)
{
double ans; if (p < )
{
ans = power(n,-p);
ans = /ans;
}
else if (p > )
ans = n * power(n,p-);
else if (p == )
ans = ;
return ans;
}

9.题略

/*binary.c 以二进制形式输出整数*/
#include <stdio.h>
void Binary(int x, int y); int main(void)
{
int x, y; printf("Please enter a int (>=0)\n");
while (scanf("%d %d", &x,&y) == )
{
if (y> || y<) continue;
Binary(x,y);
printf("\nPlease enter 2 int(q to quit):\n");
}
printf("Done!\n");
} void Binary(int x, int y)
{
int z;
z = x % y;
if (x/y != )
Binary(x/y, y);
printf("%d",z);
}

10.题略

关键点:利用循环的方式生成斐波那契数列,从下往上计算。即通过f(0) + f(1) 得到f(2), 再由f(1) + f(2)得到f(3)....直到计算出f(n),每次都必须从底层算起,然后三个变量相互赋值,迭代计算。

int Fibonacci( unsigned int n )
{
unsigned int FibN, FibNOne, FibNTwo;
unsigned int i; int result[] = { , };
if( n < )
return result[n-]; FibNOne = ;
FibNTwo = ;
FibN = ;
for( i = ; i <= n; i++ )
{ /*以第一次循环执行过程为例*/
FibN = FibNOne + FibNTwo; /*f(2) = f(0) + f(1)*/
FibNOne = FibNTwo; /*f(1)*/
FibNTwo = FibN; /*f(2)*/
}
return FibN;
}

C Primer Plus_第9章_函数_编程练习的更多相关文章

  1. C Primer Plus_第6章_循环_编程练习

    1.题略 #include int main(void) { int i; char ch[26]; for (i = 97; i <= (97+25); i++) { ch[i-97] = i ...

  2. C Primer Plus_第5章_运算符、表达式和语句_编程练习

    Practice 1. 输入分钟输出对应的小时和分钟. #include #define MIN_PER_H 60 int main(void) { int mins, hours, minutes; ...

  3. C Primer Plus_第四章_字符串和格式化输入输出_编程练习

    Practice 1.输入名字和姓氏,以"名字,姓氏"的格式输出打印. #include int main(void) { char name[20]; char family[2 ...

  4. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  5. C Primer Plus_第10章_数组和指针_编程练习

    1. /*rain.c 针对若干年的降水量数据,计算年降水总量.年降水平均量,以及月降水平均量*/ #include <stdio.h> #define MONTHS 12 #define ...

  6. C Primer Plus_第8章_字符输入输出和输入确认_编程练习

    1.题略 #include <stdio.h> int main(void) { ; printf("Please enter text here(end with Ctrl + ...

  7. C Primer Plus_第三章_数据和C_复习题与编程练习

    Review long代替int类型变量的原因是什么? 在您的系统中,long可以容纳比int更大的数:如果您确实需要处理更大的值,那么使用一种在所有系统上都保证至少是32位的类型会使程序的可移植性更 ...

  8. [C++ Primer Plus] 第8章、函数探幽(二)课后习题

    1.编写通常接受一个参数(字符串的地址),并打印该字符串的函数.不过,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串的打印次数不等于第 ...

  9. [C++ Primer Plus] 第8章、函数探幽(一)程序清单——内联、引用、格式化输入输出、模板、decltype

    程序清单8.1(inline内联函数) #include<iostream> using namespace std; inline double square(double x) {// ...

随机推荐

  1. web中的触摸(touch)与手势(gesture)事件

    一.触摸事件(TouchEvent): 事件: touchstart:当手指触摸屏幕时触发:即使已经有一个手指放在了屏幕上也会触发 touchmove:当手指在屏幕上滑动时连续的触发.调用preven ...

  2. 实现了与maya场交互的能力

    今天把模拟节点与maya场的对接做好了,效果如图: 图中黄色线为每个节点受到的外力,由于加了一个重力场,所以外力都是竖直向下. 节点连线方式如图所示: 交互的具体方法是在每次模拟之前,更新每个节点所受 ...

  3. bodybuilding

    增大肌肉块的14大秘诀:大重量.低次数.多组数.长位移.慢速度.高密度.念动一致.顶峰收缩.持续紧张.组间放松.多练大肌群.训练后进食蛋白质.休息48小时.宁轻勿假. 1. 大重量.低次数:健美理论中 ...

  4. mysql多实例安装脚本

    #! /bin/bash # v.mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz # only install master mysql # time:2016-0 ...

  5. 使用jq工具在Shell命令行处理JSON数据

    由于近期要处理一些 JSON 数据格式.一大早经过一番搜索后,终于找到了 jq 这个非常棒的工具.jq 同意你直接在命令行下对 JSON 进行操作,包含分片.过滤.转换等等. 首先在mac下安装jq. ...

  6. (转)导出EXCEL时科学计数法问题

    //1)  文本:vnd.ms-excel.numberformat:@ //2)  日期:vnd.ms-excel.numberformat:yyyy/mm/dd //3)  数字:vnd.ms-e ...

  7. 14_Android中Service的使用,关于广播接收者的说明

     服务:长期后台运行的没有界面的组件 android应用:什么地方需要用到服务? 天气预报:后台的连接服务器的逻辑,每隔一段时间获取最新的天气信息 股票显示:后台的连接服务器的逻辑,每隔一段时间获 ...

  8. go的语法

    概述 有接触go语言,工作中用的比较少,偶尔做个小项目,最近看到的一个项目也从go迁移到java. 但是对go还是恋恋不忘,它语法比较简洁,库也比较多,编译速度快,等等优点,让我忘不了. 对go的语法 ...

  9. 4.4 explain 之 possible_keys 、key、key_len

    一.possible_keys 显示可能应用在这张表中的索引,一个或多个. 查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用. 二.key 实际使用的索引.如果为null,则没有 ...

  10. meat http-equiv 属性详解

    转自 http://kinglyhum.iteye.com/blog/827807 http-equiv 属性提供了 content 属性的信息/值的 HTTP 头. http-equiv 属性可用于 ...