明解C语言第四章习题
第一节:do语句
练习4-1:代码清单3-9是判断所输入的整数符号的程序,请将其改写为可将输入显示这一过程循环任意次
#include <stdio.h>int main()
{int a;int b;do {printf("请输入一个整数:");scanf("%d", &a);if (a == 0)puts("该整数为0。");else if (a > 0)puts("该整数为正数。");elseputs("该整数为负数。");printf("要重复一次吗?【yes 0/No 1】:");scanf("%d", &b);} while (b == 0);return 0;
}
练习4-2:编写一段程序,像下面这样读取两个整数的值,然后计算出它们之间所有整数的和
请输入两个整数。
整数A:37
整数B:28
大于等于28小于等于37的所有整数的和是:325
#include<stdio.h>
int main()
{int a, b, c;int sum = 0;puts("请输入两个整数。");printf("整数A:"); scanf("%d", &a);printf("整数B:"); scanf("%d", &b);c = a;do{sum += c;c--;} while (c != b - 1);printf("大于等于%d小于等于%d的所有整数的和是:%d", b, a, sum);return 0;
}
第二节:while语句
练习4-3:对代码清单4-5中的程序进行修改,当输入的值为负数时不执行换行操作
#include<stdio.h>
int main()
{int no;printf("请输入一个正数.");scanf("%d", &no);while (no >= 0){printf("%d ", no);no--;}if (no < 0)putchar('\n');return 0;
}
练习4-4:对代码清单4-6进行修改,使其:
递减到1而非递减到0;
当输入的值小于0时,不进行换行;
#include<stdio.h>
int main()
{int no;printf("请输入一个正整数:");scanf("%d", &no);while (no >= 1){printf("%d ", no--);}if (no < 0)putchar('\n');return 0;
}
练习4-5:对代码清单4-7的程序进行修改。
从1开始递增;
输入的值小于0时不换行;
#include<stdio.h>
int main()
{int i, no;printf("请输入一个正整数:");scanf("%d", &no);i = 1;while (i <= no){printf("%d ", i++);}if (no >= 0)putchar('\n');return 0;
}
练习4-6:编写一段程序,像下面按照升序显示出小于输入值的所有正偶数。
请输入一个整数:19
2 4 6 8 10 12 14 16 18
#include<stdio.h>
int main()
{int a = 0;int i = 1;printf("请输入一个整数:");scanf("%d", &a);while (i < a ){if (i % 2 ==0){printf("%d ", i);}i++;}return 0;
}
练习4-7:编写一段程序,像下面这样显示出小于输入的整数的所有2的乘方
请输入一个整数:19
2 4 8 16
#include<stdio.h>
int main()
{int a = 0, i = 1;printf("请输入一个正整数:");scanf("%d", &a);while (i < a){if (i < 19 && i % 2 == 0){printf("%d ", i);}i*=2;}return 0;
}
练习4-9:编写一段程序,交替显示+和-,总个数等于所输入的整数值。另外输入0以下的整数时,什么也不显示。
#include<stdio.h>
int main()
{int i = 0, no = 0;printf("请输入一个正整数:");scanf("%d", &no);while (i < no){if (i % 2 == 0)printf("+");elseprintf("-");i++;}return 0;
}
练习4-10:编写一段程序,像下面一样练习显示 * 总个数等于输入数值的个数,当输入0以下的数值时什么也不显示
#include<stdio.h>
int main()
{int i = 0, no = 0;printf("请输入一个正整数:");scanf("%d", &no);while (i < no){printf("*\n");i++;}return 0;
}
练习4-11:编写代码,显示下方效果;
请输入一个正整数:1963
1963的逆向结果是3691
#include<stdio.h>
int main()
{int i, j;do{printf("请输入一个正整数:");scanf("%d", &i);if (i <= 0)puts("请不要输入负数和0。");} while (i <= 0);j = i;printf("%d逆向显示的结果是:", j);while (j > 0){printf("%d", j % 10);j /= 10;}puts("。");return 0;
}
练习4-12:读取一个整数,显示其位数。
请输入一个正整数:1963
1963的位数是:4
#include<stdio.h>
int main()
{int a = 0, b = 0, c = 0;printf("请输入一个正整数:");scanf("%d", &a);b = a;while (b > 0){b /= 10;c++;}printf("%d的位数是%d", a, c);return 0;
}
练习4-13:编写一段程序,求1到n的和。
#include<stdio.h>
int main()
{int n=0,i=0,sum=0;printf("请输入一个正整数:");scanf("%d", &n);for (i = 0; i <= n; i++){sum += i;}printf("1到%d的和为:%d", n, sum);return 0;
}
练习4-14:编写一段程序,像下面这样根据输入的整数,循环显示1234567890,显示的位数和输入的数值相同
请输入一个正整数:25
1234567890123456789012345
#include<stdio.h>
int main()
{int i = 0, j = 0;printf("请输入一个正整数:");scanf("%d", &i);for (j = 1; j <= i; j++){printf("%d", j%10);}return 0;
}
练习4-15:像下面一样显示身高和标准体重的对照表。显示的身高范围和间隔由输入的整数值进行控制,标准体重精准到小数点后两位。
开始数值(cm):155
结束数值(cm):190
间隔数值(cm):4
150cm 49.50kg
160cm 54.00kg
…(以下省略)…
#include<stdio.h>
int main()
{int begin = 0;int end = 0;int interval = 0;int i = 0 , j=0;printf("开始数值(cm):"); scanf("%d", &begin);printf("结束数值(cm):"); scanf("%d", &end);printf("间隔数值(cm):"); scanf("%d", &interval);j = begin;for (i = 0; i <= (end - j) / interval; i++){printf("%dcm %.2fkg\n", begin, (begin - 100) * 0.9);begin += interval;}return 0;
}
练习4-16:编写一段程序,输入一个整数值,显示该整数值以下所有奇数
整数值:15
1 3 5 7 9 11 13 15
#include<stdio.h>
int main()
{int a = 0, i = 1;printf("请输入一个整数值:");scanf("%d", &a);while (i <= a){printf("%d ", i);i+=2;}return 0;
}
练习4-17:编写一段程序,像下面这样显示1~n的整数值的二次方。
n的值:3
1的二次方是:1
2的二次方是:4
#include<stdio.h>
int main()
{int n = 0, i = 0;printf("n的值为:"); scanf("%d", &n);for (i = 1; i < n; i++){printf("%d的二次方是:%d\n", i, i * i);}i++;return 0;
}
练习4-18:编写一段程序,显示 * 每五个就进行一次换行,数字为几显示多少个。
#include<stdio.h>
int main()
{int i = 0, j = 0;printf("整数值:");scanf("%d", &j);for (i = 1; i <= j; i++){printf("*");if (i % 5 == 0)putchar('\n');}return 0;
}
练习4-19:对代码清单4-15进行修改,在显示所有约数后显示约数个数
整数值:4
1
2
4
约数有:3个
#include<stdio.h>
int main(void)
{int i = 0, n = 0, m = 0;printf("整数值:");scanf("%d", &n); for (i = 1; i <= n; i++)if (n % i == 0){printf("%d ", i);printf("\n");m++;}printf("约数有%d个。", m);return 0;
}
明解C语言第四章习题相关推荐
- 《明解C语言》第九章字符串课后练习题
习题 9-2 #include <stdio.h> int main() { char str[] = "ABC"; // char str[] = &q ...
- C语言入门——《明解C语言》入门篇第四章练习
新开C语言专栏整理一下学C的艰苦之路,先从看书+视频开始. 整理了<明解C语言>入门篇第四章练习的"参考答案",记录一下学习的过程.直接上代码. 练习4-1 int m ...
- 明解C语言入门篇_第8章_动手编写各种程序吧
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第13章_文件处理
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第6章_函数
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第5章_数组
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第12章_结构体
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第9章_字符串的基本知识
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第10章_指针
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
- 明解C语言入门篇_第4章_程序的循环控制
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
最新文章
- Oracle的自定义函数浅析
- Kong APIGW — OpenResty
- 结构化道路上车辆自动驾驶中的雷达类型及安装位置
- Memcpy, blockcopy的进一步理解
- HDU 1517 A Multiplication Game
- array python 交集_模糊数学Python库简介和评测
- 重要·Flutter 首个预览版 发布
- Effective C++: 06继承与面向对象设计
- mysql 5.5.18下载_MySQL5.7.18下载和安装过程图文详解
- Linux常用指令总结二~~
- YOLOv3 精度再次提高 4.3%,训练提速 40%!PaddleDetection全面升级
- Objective-C 日记④ 集合家族
- 两个卡巴斯基 6.0 官方简体中文版授权文件
- C语言中空字符串长度,C语言中求字符串的长度
- [渝粤教育] 平顶山学院 学前心理学 参考 资料
- FLUENT中的常用边界条件
- Word2003分栏设置方法
- 一个强悍而优美的Android视频播放器
- uni-app学习日记7
- C++/MFC 面试题(一)
热门文章
- 有关各浏览器内核的区别
- 突出的就是一个「性价比」— 小新 Air 14 2020 评测
- 小米android11账号补丁,小米9 MIUI11 解账户锁 可登小米账号 永不反锁 完美ROOT 解锁包...
- 这些年看过的书...
- 数值分析的matlab实验总结,数值分析及其MATLAB实验(第2版)
- EasyDarwin —— ubuntu搭建rtsp服务,使用FFmpeg进行rtsp推拉流
- GPS 经纬度换算方法和定位误差计算
- 荔枝软件如何测试声音,荔枝如何测自己的声音 荔枝测自己的声音方法
- linux系统下在ubuntu20.04安装matlab2017总结
- 中兴e8820刷openwrt_中兴E8820V2(电信天翼宽带类似新路由3歌华链)-拆机及OpenWrt固件...