练习5-1

/*
依次把1、2、3、4、5 赋值给数组的每个元素并显示(使用for语句)
*/ #include <stdio.h> int main(void)
{
int i;
int v[]; /* int[5]数组 */ for (i = ; i <; i++) /* 为数组元素赋值 */
v[i] = i ; for (i = ; i<; i++) /* 显示元素的值 */
printf("v[%d] = %d\n", i, v[i]); return ;
}

练习5-2

/*
依次把1、2、3、4、5 赋值给数组的每个元素并显示(使用for语句)
*/ #include <stdio.h> int main(void)
{
int i;
int v[]; /* int[5]数组 */ for (i = ; i <; i++) /* 为数组元素赋值 */
v[i] = i + ; for (i = ; i >=; i--) /* 显示元素的值 */
printf("v[%d] = %d\n", i, v[i]); return ;
}

练习5-3

/*
从头开始依次用1、2、3、4、5 对数组各元素进行初始化并显示
*/ #include <stdio.h> int main(void)
{
int i;
int v[] = { ,,,, }; /* 初始化 */ for (i = ; i < ; i++) /* 显示元素的值 */
printf("v[%d] = %d\n", i, v[i]); return ;
}

练习5-4

/*
把数组中的全部元素复制到另一个数组中
*/ #include <stdio.h> int main(void)
{
int i;
int a[] = { , , }; /* 使用{17,23,36,0,0} 进行初始化 */
int b[]; for (i = ; i < ; i++) {
b[ - i] = a[i];
} puts(" a b");
puts("---------");
for (i = ; i < ; i++)
printf("%4d%4d\n", a[i], b[i]); return ;
}

练习5-5

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

练习5-6

都会变成  1

练习5-7

#include <stdio.h>

#define number    80    

int main(void)
{
int v[number];
int num;
int i;
printf("数据个数:");
scanf("%d", &num);
for (i = ; i < num; i++) {
printf("%d号:",i+);
scanf("%d", &v[i]);
}
printf("{");
for (i = ; i < num-; i++) { printf("%d, ", v[i]);
}
printf("%d", v[num-]);
printf("}"); return ;
}

练习5-8

/*
输入学生的分数并显示出分布情况
*/ #include <stdio.h> #define NUMBER 80 /* 人数上限 */ int main(void)
{
int i, j;
int num; /* 实际的人数 */
int tensu[NUMBER]; /* 学生的分数 */
int bunpu[] = { }; /* 分布图 */ printf("请输入学生人数:");
scanf("%d", &num); printf("请输入%d 人的分数。\n", num); for (i = ; i < num; i++) {
printf("%2d号:", i + );
scanf("%d", &tensu[i]);
bunpu[tensu[i] / ]++;
} puts("\n---分布图---"); for (i = ; i <= ; i++) { /* 不到100分 */
printf("%3d - %3d:", i * , i * + );
for (j = ; j < bunpu[i]; j++)
putchar('*');
putchar('\n');
}
printf(" 100:");
for (j = ; j < bunpu[]; j++) /* 100分 */
putchar('*');
putchar('\n'); return ;
}

练习5-9

//c语言 最好用c++打开 我也是刚刚学,想了很久写出来的,不知道有没有更好的办法
#include <stdio.h>
#define NUMBER 90 //定义人数上限
int main(void)
{
int i, j, a[NUMBER], dis[] = { }, b;
//ij计数 a成绩数组 dis成绩分布数组 b实际人数 printf("请输入学生人数:");
scanf("%d", &b); for (i = ; i < b; i++)
{
printf("%2d号:", i + );
do
{
scanf("%d", &a[i]);
if (a[i] < || a[i]>)
printf("请输入0-100之间的数:");
} while (a[i] < || a[i]>); dis[a[i] / ]++;
}
//-----------------------------------输出星星的行数=人数最多的那一列的人数 将最多人数的分数段的人数赋给max(准备工作)
int max = dis[];
for (i = ; i < ; i++)
{
if (dis[i] > max)
max = dis[i];
}
//-----------------------------------输出星星
for (; max > ; max--)//有max行 外循环max次
{
for (j = ; j < ; j++)//有11列 循环11次
// 本次循环完毕表示一行输出完毕 需要换行进行下一行输出
//----------------------------------- 当某分数段人数大于等于max时,内循环输出星星直到内循环结束。每次外循环max--
// 比如 最多人数的分数段(max)=3 则人数为3的分数段(通过内循环)各自输出星星 内循环结束 回车
// 第二次外循环(max=2)则人数为3和2的分数段(通过内循环)输出星星 内循环结束 回车
// 第三次外循环(max=1)则人数为3和2和1的分数段(通过内循环)输出星星 回车 外循环结束
{
if (dis[j] >= max)
printf(" *");
else
printf(" ");
}
putchar('\n');
}
putchar('\n');
//-----------------------------------输出底部线条
for (i = ; i < ; i++)
{
printf("-");
}
putchar('\n');
//-----------------------------------输出底部数字
for (i = ; i < ; i++)
{
printf("%4d", i * );
}
putchar('\n');
return ;
}

练习5-10

#include<stdio.h>
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]);
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];
} }
} for (x = ; x < ; x++)
{
for (y = ; y < ; y++)
printf("%d\t", c[x][y]);
printf("\n");
}
return ;
}

练习5-11

/*
求6名学生在两次考试中1门课程的总分并显示
*/ #include <stdio.h> int main(void)
{
int i, j;
double x,y;
x=y= ;
int tensu1[][];
int tensu2[][];
int sum[][]; /* 总分 */ puts("请依次输入语文和数学的成绩,用空格分隔");
puts("输入分数:"); puts("语文:");
for (i = ; i < ; i++) {
for (j = ; j < ; j++) {
scanf("%d", &tensu1[i][j]);
} } for (i = ; i < ; i++) {
for (j = ; j < ; j++) {
printf("%6d\t", tensu1[i][j]);
x += tensu1[i][j];
}
}
putchar('\n'); printf("语文的总分是%.2f,平均分是:%.2f",x,x/); putchar('\n');
puts("数学:");
for (i = ; i < ; i++) {
for (j = ; j < ; j++) {
scanf("%d", &tensu2[i][j]);
}
} for (i = ; i < ; i++) {
for (j = ; j < ; j++) {
printf("%6d\t", tensu2[i][j]);
y += tensu2[i][j];
}
}
putchar('\n');
printf("数学的总分是%.2f平均分是:%.2f",y, y / );
/* 求两次考试的分数之和 */
for (i = ; i < ; i++) {
for (j = ; j < ; j++)
sum[i][j] = tensu1[i][j] + tensu2[i][j];
}
putchar('\n'); /* 显示总分 */
puts("总分");
for (i = ; i < ; i++) {
for (j = ; j < ; j++)
printf("%6d\t", sum[i][j]); }
putchar('\n');
puts("平均分");
for (i = ; i < ; i++) {
for (j = ; j < ; j++)
printf("%.2f\t", (double)sum[i][j]/); }
return ;
}

练习5-12

#include <stdio.h>

int main(void)
{
int x, y, z;
int tensu[][][] = { { {, , }, {, , },{, , }, {, , } } ,{ {, , }, { , , }, { , , }, { , , } } }; for (x = ; x < ; x++) {
for (y = ; y < ; y++) {
for (z = ; z < ; z++) {
printf("%4d", tensu[x][y][z]); }
putchar('\n');
}
}
return ; }

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

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

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

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

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

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

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

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

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

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

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

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

    练习6-1 /* 求两个整数中的最小值 */ #include <stdio.h> /*--- 返回三个整数中的最小值 ---*/ int min2(int a, int b) { int ...

  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. 解决FastCGI 进程超过了配置的活动超时时限的问题

    近日,需要满足测试需求,进行大数据并发测试时,报出[HTTP 错误 500.0 - Internal Server Error E:\PHP\php-cgi.exe - FastCGI 进程超过了配置 ...

  2. Linux打包和压缩——管理打包和压缩的命令

    Linux打包和压缩——管理打包和压缩的命令 摘要:本文主要学习了Linux的打包命令和压缩命令. tar命令 tar命令可以用来进行打包和解打包,压缩和解压缩. 基本语法 打包和压缩的语法: tar ...

  3. FCC-学习笔记 Sorted Union

    FCC-学习笔记  Sorted Union 1>最近在学习和练习FCC的题目.这个真的比较的好,推荐给大家. 2>中文版的地址:https://www.freecodecamp.cn/; ...

  4. Google Analytics 学习笔记二 —— GA部署

    一.直接部署 直接复制GA跟踪代码 放到所有页面 跟踪代码放到 "head"前面 二.GTM部署方法一 三.GTM部署方法二 Tacking ID 四.测试.参数配置与调优

  5. redo log 重做日志

    --------------------------------------------------2015-02-10---------------------------------------- ...

  6. JS高阶---原型链

    [大纲] [主体] 1.创建函数 注意:Object内置原生对象原来就有 2.添加实例方法 3.根据构造函数创建实例对象 原型链寻找 1.本身有在本身找 2.本身没有往摸着隐式原型链往里找 或者再上层 ...

  7. 2018年蓝桥杯B组C/C++决赛题目

    自己的博客排版,自我感觉略好一点. 先放上题目. 点击查看2018年蓝桥杯B组C/C++决赛题目题解     1.换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种. 小明去x星旅游, ...

  8. v8 编译 时长3小时

  9. 防止ARP欺骗

    前言: 曾经因为宿舍里面的同学经常熬夜打游戏,好言相劝不管用,无奈之下使用arp欺骗他们的主机,使之晚上11点之后游戏延迟,掉线,最后,一到11点同学们就都上床睡觉了. 防止arp欺骗的三种思路: 在 ...

  10. 【软件工程1916|W(福州大学)_助教博客】2019年上学期助教个人总结

    本学期概况 本学期负责福州大学汪老师助教工作,机缘巧合下半路接上的.说起来和福州大学也很有缘,第一次做助教就是给福州大学的张老师打下手[福州大学助教链接].第一次是和我室友共同组合.本学期有幸和其他两 ...