练习8-1

#include<stdio.h>
#define diff(x,y)(x-y) int main() {
int x;
int y;
printf("x=");
scanf("%d", &x);
printf("y=");
scanf("%d", &y);
printf("%d", diff(x, y)); }

练习8-2

#include <stdio.h>
#define max(x,y) ((x)>(y)?x:y) int main() {
int a, b, c, d;
int max1, max2;
printf("请输入a b c d 的值:\n");
scanf("%d",&a);
scanf("%d", &b);
scanf("%d", &c);
scanf("%d", &d);
max1 = max(max(a, b), max(c, d)); //这个表达式的意思是先求出a,b一组和c,d一组中的较大值,再比较两个较大值求最大值
printf("最大值是%d", max1);
putchar('\n');
max2 = max(max(max(a, b), c), d); //意思是依次比较a和b的较大值,再用较大值依次比较c,d,而求出最大值
printf("最大值是%d", max2); }

练习8-3

#include <stdio.h>
#define swap(int,a,b) {int temp;temp = a;x = y;y = temp;}
int main(void){
int x = ;
int y = ;
swap(int, x, y);
printf("x = %d\ny = %d\n", x, y);
return ;
}

练习8-4

#include <stdio.h>
#define number 6 void bsort(int n, int v[]) {
int i, j;
for (i = ; i < n - ; i++) {
for (j = n - ; j > i; j--) {
if (v[j - ] < v[j]) {
int tem = v[j];
v[j] = v[j - ];
v[j - ] = tem;
}
}
}
} int main() {
int i;
int v[number]; for (i = ; i < number; i++) {
printf("v[%d]=", i);
scanf("%d", &v[i]);
}
putchar('\n'); bsort(number, v);
for (i = ; i < number; i++)
{
printf("v[%d]=%d\n", i, v[i]);
} }

练习 8-5

#include <stdio.h>
enum season{春,夏,秋,冬,Invaild}; enum season select(void) {
int tmp;
do {
printf("0...春 1...夏 2...秋 3...冬 4...结束");
scanf("%d", &tmp);
} while (tmp< 春 || tmp> Invaild);
return tmp;
} int main(void) {
enum season selected;
do {
switch (selected=select())
{
case 春:break;
case 夏:break;
case 秋:break;
case 冬:break; } } while (selected != Invaild);
return ; }

练习8-6

#include <stdio.h>

int factorial(int n) {
int i ;
int sum = ;
for (i = ; i <= n; i++) {
sum*=i;
}
return sum;
}
int main() {
int x;
printf("请输入一个数:");
scanf("%d", &x);
printf("它的阶乘是:%d", factorial(x));
}

练习8-7

#include <stdio.h>

int factorial(int n)
{
if (n > )
return n * factorial(n - );
else
return ;
} int combination(int n, int r) { if (n > )
return factorial(n) / (factorial(r) * factorial(n - r));
else
return ;
}
int main() {
int n;
int r;
printf("n=");
scanf("%d", &n);
printf("r=");
scanf("%d", &r);
printf("%d", combination(n, r));
}

练习8-8

#include <stdio.h>
int gcd(int x, int y)
{
int z;
if (x != y)
{
if (x > y)
x -= y;
else
y -= x;
z = gcd(x, y);
}
else
z = x;
return z;
}
int main(void)
{
int x, y;
printf("x:");
scanf("%d", &x);
printf("y:");
scanf("%d", &y);
printf("gcd(%d,%d) = %d\n", x, y, gcd(x, y));
return ;
}

练习8-9

/*---计算标准输入中出现的行数---*/

#include <stdio.h>

int main(void)
{
int ch, i = ; while ((ch = getchar()) != EOF) {
if (ch == '\n') i++;
}
printf("%d", i); return ; }

练习8-10

#include <stdio.h>

int main(void)
{
int i, ch,j;
int cnt[] = { }; while ((ch = getchar()) != EOF) {
if (ch >= '' && ch <= '')
cnt[ch - '']++; }
puts("数字字符的出现次数");
for (i = ; i < ; i++) {
printf("'%d':", i);
for (j = ; j < cnt[i]; j++) {
putchar('*'); }putchar('\n');
}
return ;
}

明解C语言 入门篇 第八章答案的更多相关文章

  1. 明解C语言 入门篇 第二章答案

    练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...

  2. 明解C语言 入门篇 第一章答案

    练习1-1 #include <stdio.h> int main() { int a; a = 15; int b; b = 37; int c; c = a - b; printf(& ...

  3. 明解C语言 入门篇 第十章答案

    练习10-1 #include <stdio.h> void adjust_point(int*n) { ) *n = ; ) *n = 0; } int main() { int x; ...

  4. 明解C语言 入门篇 第九章答案

    练习9-1 /* 将字符串存储在数组中并显示(其2:初始化) */ #include <stdio.h> int main(void) { char str[] = "ABC\0 ...

  5. 明解C语言 入门篇 第五章答案

    练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...

  6. 明解C语言 入门篇 第四章答案

    练习4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("请输入一个整数:"); sca ...

  7. 明解C语言 入门篇 第三章答案

    练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...

  8. 明解C语言 入门篇 第十三章答案

    练习13-1 /* 打开与关闭文件 */ #include <stdio.h> int main(void) { ]; FILE* fp; printf("请输入你要打开的文件& ...

  9. 明解C语言 入门篇 第十二章答案

    练习12-1 /* 用表示学生的结构体来显示高尾的信息 */ #include <stdio.h> #define NAME_LEN 64 /* 姓名的字符数 */ /*=== 表示学生的 ...

随机推荐

  1. tensorflow 性能调优相关

    如何进行优化tensorflow 将极大得加速机器学习模型的训练的时间,下面是一下tensorflow性能调优相关的阅读链接: tensorflow 性能调优:http://d0evi1.com/te ...

  2. openldap数据备份还原

    数据备份[root@Server ~]# slapcat -n 2 -l /root/ldapbackup_ilanni.ldif脚本 ----- #!/bin/bash # 备份脚本 PATH=&q ...

  3. unittest框架之 BeautifulReport 模板报告生成的正确姿势

    使用unittest框架的自动化测试,报告一定很重要,目前介绍一个比较高大上的报告模板 BeautifulReport.如果首次使用的话需要安装 pip install beautifulreport ...

  4. dp习题

    仅收录有意思的题目 数的划分 导弹拦截 : LIS的两种优化 教主的花园:将不同的情况分类,最后取max 午餐 & 挂饰: 需要排序 挂饰:0-1背包处理负数体积 投资的最大效益 : 完全背包 ...

  5. JavaScript-----9.函数

    1.函数的使用 1.1 声明函数和调用函数 //1.声明函数 //function 函数名() { // //函数体 //} function sayHi() { console.log('hi~') ...

  6. 《DevOps实践:驭DevOps之力强化技术栈并优化IT运行》

    DevOps实践:驭DevOps之力强化技术栈并优化IT运行 主旨 这本书并非坐而论道,而是介绍了DevOps全流程中的许多实践,以及相应工具的运用.虽然随着时代的推移,工具将来可能会过时,但是这些实 ...

  7. JQ的offset().top与JS的getBoundingClientRect区别详解,JS获取元素距离视窗顶部可变距离

     壹 ❀ 引 我在 JQ的offset().top与js的offsetTop区别详解 这篇博客中详细分析了JQ方法offset().top与JS属性offsetTop的区别,并得出了一条offset( ...

  8. 【c&c++】变量初始化

    /* 全局变量会默认初始化为0 空 和 false,局部变量要手动初始化,或者直接scanf输入值进去.如果不初始化,n可能是0也有可能是其他数,大多数情况下会是0,但不初始化是不安全的,所以Dev直 ...

  9. PHP ThinkPHP 非常好用的增删改查方法

    获取列表数据(多条) /*** 获取页面列表* @param $params //查询条件 例:['id'=>['in','1,2']] ['status'=>1]* @param arr ...

  10. HelloDjango 第 11 篇:自动生成文章摘要

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 博客文章的模型有一个 excerpt 字段,这个字段用于存储文章的摘要.目前为止,还只 ...