明解C语言 入门篇 第六章答案
练习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语言 入门篇 第六章答案的更多相关文章
- 明解C语言 入门篇 第五章答案
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...
- 明解C语言 入门篇 第四章答案
练习4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("请输入一个整数:"); sca ...
- 明解C语言 入门篇 第三章答案
练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...
- 明解C语言 入门篇 第十三章答案
练习13-1 /* 打开与关闭文件 */ #include <stdio.h> int main(void) { ]; FILE* fp; printf("请输入你要打开的文件& ...
- 明解C语言 入门篇 第十一章答案
练习11-1 /* 用指针实现的字符串的改写 */ #include <stdio.h> int main(void) { "; printf("p = \" ...
- 明解C语言 入门篇 第七章答案
练习7-1 #include <stdio.h> int main() { int n; printf(,, ); //此行显示结果为 4 3 6 因为1的字节就是为4,而-1的字节也是4 ...
- 明解C语言 中级篇 第四章答案
练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...
- 明解C语言 中级篇 第三章答案
练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...
- 明解C语言 入门篇 第二章答案
练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...
随机推荐
- WebApi生成文档
本文包括两个部分: webapi中使用swagger 修改webapi的路由和默认参数 WebApi中使用swagger 项目打开之后,选择 引用,右键,管理NuGet程序包 浏览,搜索swagger ...
- TensorFlow、numpy、matplotlib、基本操作
一.常量的定义 import tensorflow as tf #类比 语法 api 原理 #基础数据类型 运算符 流程 字典 数组 data1 = tf.constant(2,dtype=tf.in ...
- 关于Qt 静态成员函数调用信号
class globalCalcThread; extern globalCalcThread *g_calcThread; class globalCalcThread : public QThre ...
- weblogic删除域
彻底删除weblogic域的方法: 例如:删除域名为:fm_ump的域 第一步,删除域注册记录: [bofm@UAT02-BIZ-ZJCG-AP-008 Middleware]$ cd /home/s ...
- bit和byte的区别是什么?
bit(位/比特):计算机运算的基础单位: byte(字节):计算机中文件大小的基本计量单位. 转换关系:8 bit = 1 Byte1024 Byte = 1 KB1024 KB = 1 MB102 ...
- Excel数据导入到Sql server
问题:数据库内直接操作导致 错误 0xc020901c: 数据流任务 1: 源 - yndata1$.输出[Excel 源输出] 上的 源 - yndata1$.输出[Excel 源输出].列[ind ...
- STM32芯片命名规则
- JAVAWEB复习笔记-day02
1.CSS样式优先级 优先级:由上到下,由外到内.优先级越来越高 2.css选择器 html标签选择器 class选择器(.) id选择器(#) 3.优先级 style属性>id选择器>c ...
- 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation
背景 在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%).由此,ConvNet的潜力受到广泛认可,一炮而红 ...
- JS高阶---浏览器内核
不同浏览器的内核,不太一样 360双核切换机制 一般涉及到金钱交易时,会切换到Trident内核,因为IE内核安全性较稳 不涉及金钱利益时,则会使用webkit内核 (1)内核是由很多模块构成 注意: ...