练习6-1

/*
求两个整数中的最小值
*/ #include <stdio.h> /*--- 返回三个整数中的最小值 ---*/
int min2(int a, int b)
{
int min = a; if (b < min) min = b; return min;
} int main(void)
{
int a, b, c; puts("请输入两个整数。");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b); printf("最小值是%d。\n", min2(a, b)); return ;
}

练习6-2

/*
求三个整数中的最小值
*/ #include <stdio.h> /*--- 返回三个整数中的最小值 ---*/
int min3(int a, int b, int c)
{
int min = a; if (b < min) min = b;
if (c < min) min = c;
return min;
} int main(void)
{
int a, b, c; puts("请输入三个整数。");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
printf("整数c:"); scanf("%d", &c); printf("最小值是%d。\n", min3(a, b, c)); return ;
}

练习6-3

#include <stdio.h>

int cub(int x) {
return x * x * x; //求一个数的立方
} int main(void) {
int x; printf("请输入一个数:");
scanf("%d", &x);
printf("它的立方是%d",cub(x)); return ;
}

练习6-4

#include <stdio.h>

int sqr(int x) {
return x * x ; //求一个数的平方
} int main(void) {
int x; printf("请输入一个数:");
scanf("%d", &x);
printf("它的四次幂是%d", sqr(sqr(x))); return ;
}

练习6-5

#include <stdio.h>

int sumup(int n) {
int sum = ;
while (n-->)
{
sum += n; }
return sum;
} int main(void) {
int x; printf("请输入一个数:");
scanf("%d", &x);
printf("从1到%d之间所有整数的和是%d",x, sumup(x)); return ;
}

练习6-6

#include <stdio.h>

void alert(int n) {
while (n-- > )
{
putchar('\a');
}
} int main() {
int x;
printf("请输入要发出响铃的次数:");
scanf("%d", &x);
alert (x);
}

练习6-7

#include <stdio.h>

void hello(void) {
puts("你好。");
}
int main() {
hello();
}

练习6-8

/*
计算英语最低分
*/ #include <stdio.h> #define NUMBER 5 /* 学生人数 */ /*--- 返回元素个数为n的数组v中的最小值 ---*/
int min_of(const int v[], int n)
{
int i;
int min = v[]; for (i = ; i < n; i++)
if (v[i] < min)
min = v[i];
return min;
} int main(void)
{
int i;
int eng[NUMBER]; int min_e; printf("请输入%d名学生的分数。\n", NUMBER);
for (i = ; i < NUMBER; i++) {
printf("[%d]英语:", i + ); scanf("%d", &eng[i]); }
min_e = min_of(eng, NUMBER); /* 英语的最低分 */ printf("英语的最低分=%d\n", min_e); return ;
}

练习6-9

/*
对数组的全部元素进行倒序排列
*/ #include <stdio.h>
#define number 7 void rev_intary(int v[], int n)
{ int i;
for (i = ; i < n/ - ; i++) { /* 对数组元素进行倒序排列 */
int temp = v[i];
v[i] = v[n - - i];
v[n- - i] = temp;
}
} int main() {
int i;
int x[number];
for (i = ; i < number; i++) { /* 输入元素的值 */
printf("x[%d] : ", i);
scanf("%d", &x[i]);
} rev_intary(x, number); puts("倒序排列了。");
for (i = ; i < number; i++) /* 显示元素的值 */
printf("x[%d] = %d\n", i, x[i]); return ; }

练习6-10

/*
对数组的全部元素进行倒序排列
*/ #include <stdio.h>
#define number 7 void intary_rcpy(int v1[], const int v2[], int n)
{ int i;
for (i = ; i < n; i++) {
v1[i] = v2[n - i - ];
} } int main() {
int i;
int x[number];
int y[number];
for (i = ; i < number; i++) { /* 输入元素的值 */
printf("x[%d] : ", i);
scanf("%d", &x[i]);
} intary_rcpy(y, x, number); puts("倒序排列了。");
for (i = ; i < number; i++) /* 显示元素的值 */
printf("y[%d] = %d\n", i, y[i]); return ; }

练习6-11

#include <stdio.h>
#define number 5 int search_idx(const int v[], int idx[], int key, int n) { int i;
int x = ;
for (i = ; i < n; i++) {
if (v[i] == key)
x++;
idx[x] = v[i];
}
return x;
} int main() {
int v[number];
int y[number + ]; int i;
int key;
printf("要查找的值是:");
scanf("%d", &key);
for (i = ; i < number; i++) {
printf("v[%d]=", i);
scanf("%d", &v[i]);
}
int x = search_idx(v, y, key, number);
printf("有%d个相同的元素", x);
}

练习6-12

#include<stdio.h>

void mat_mul(const int a[][], const int b[][], int c[][]) {

    int i, j, k;

    for (i = ; i < ; i++) {    //计算矩阵c的值
for (j = ; j < ; j++) {
c[i][j] = ;
for (k = ; k < ; k++) {
c[i][j] += a[i][k] * b[k][j]; } }
}
} int main()
{
int a[][];
int b[][];
int i, j, k, x, y, c[][];
printf("输入4*3 个数 以空格隔开:\n");
for (i = ; i < ; i++)
for (k = ; k < ; k++)
scanf("%d", &a[i][k]);
printf("输入3*4 个数 以空格隔开:\n");
for (i = ; i < ; i++)
for (k = ; k < ; k++)
scanf("%d", &b[i][k]); mat_mul(a, b, c); for (x = ; x < ; x++)
{
for (y = ; y < ; y++)
printf("%d\t", c[x][y]);
printf("\n");
}
return ;
}

练习6-13

/*
求4名学生在两次考试中3课程的总分并显示(函数版)
*/ #include <stdio.h> /*--- 将4行3列矩阵a和b的和存储在c中 ---*/
void mat_add(const int a[][], const int b[][], int c[][][])
{
int x, y, z; for (x = ; x < ; x++)
for (y = ; y < ; y++)
for (z = ; z < ; z++) {
c[x][y][z] = a[y][z] + b[y][z];
}
} /*--- 显示4行3列矩阵m ---*/
void mat_print(const int m[][])
{
int i, j; for (i = ; i < ; i++) {
for (j = ; j < ; j++)
printf("%4d", m[i][j]);
putchar('\n');
}
} int main(void)
{
int tensu1[][] = { {, , }, {, , }, {, , }, {, , } };
int tensu2[][] = { {, , }, {, , }, {, , }, {, , } };
int sum[][][]; /* 总分 */ mat_add(tensu1, tensu2, sum); /* 求两次考试中成绩的总和 */ puts("第一次考试的分数"); mat_print(tensu1); /* 显示第一次考试的分数 */
puts("第二次考试的分数"); mat_print(tensu2); /* 显示第二次考试的分数 */
puts("总分"); mat_print(sum); /* 显示总分 */ return ;
}

练习6-14

#include <stdio.h>
#define number 4 int main() {
int i;
static double x[number];
for (i = ; i < number; i++) {
printf("v[%d]=%.1f", i, x[i]);
putchar('\n');
}
}

练习6-15

#include <stdio.h>

void put_count() {
static i = ;
printf("put-count:第%d次", i++);
putchar('\n'); } int main() {
int i;
for (i = ; i < ; i++) {
put_count();
}
}

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

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

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

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

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

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

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

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

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

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

    练习11-1 /* 用指针实现的字符串的改写 */ #include <stdio.h> int main(void) { "; printf("p = \" ...

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

    练习7-1 #include <stdio.h> int main() { int n; printf(,, ); //此行显示结果为 4 3 6 因为1的字节就是为4,而-1的字节也是4 ...

  7. 明解C语言 中级篇 第四章答案

    练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...

  8. 明解C语言 中级篇 第三章答案

    练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...

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

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

随机推荐

  1. 在React中使用react-router-dom路由

    1,路由组件的基本实现 使用React构建的单页面应用,要想实现页面间的跳转,首先想到的就是使用路由.在React中,常用的有两个包可以实现这个需求,那就是react-router和react-rou ...

  2. Jquery选择器与样式操作

    jquery选择器 jquery用法思想一 选择某个网页元素,然后对它进行某种操作 jquery选择器 jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择 ...

  3. 如何在一个ubuntu系统上搭建SVN版本控制工具

    有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一 ...

  4. Promise的三兄弟:all(), race()以及allSettled()

    摘要: 玩转Promise. 原文:Promise 中的三兄弟 .all(), .race(), .allSettled() 译者:前端小智 Fundebug经授权转载,版权归原作者所有. 从ES6 ...

  5. updataStateByKey算子的使用

    updataStateByKeyApp.scala import org.apache.spark.SparkConf import org.apache.spark.streaming.{Secon ...

  6. [PHP] 使用ftell和fseek函数直接定位文件位置获取部分数据

    对于大文件只获取部分数据很有用 1.使用ftell函数可以获取当前指针的字节位置2.使用fseek函数可以直接定位到指定的位置3.读取指定字节的数据就可以部分获取文件内容了 <?php clas ...

  7. LearnOpenGL.PBR.理论

    判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件: ()基于微平面(Microfacet)的表面模型.Be based on the microfacet surface model. ( ...

  8. 使用Windows api 获得系统时间并生成文件夹

    // 使用window api 获得系统时间 // 生成 #include "stdafx.h" #include <Windows.h> #include <d ...

  9. MyBatisPlus快速入门

    MyBatisPlus快速入门 官方网站 https://mp.baomidou.com/guide 慕课网视频 https://www.imooc.com/learn/1130 入门 https:/ ...

  10. BIO/NIO/AIO的区分(十四)

    BIO:同步阻塞IO(平常说的IO指的是BIO)NIO:同步非阻塞IOAIO:异步非阻塞IO io操作分为两部分,发起io请求,和io数据读写. 阻塞.非阻塞主要是针对线程发起io请求后,是否立即返回 ...