明解C语言 入门篇 第四章答案
练习4-1
#include <stdio.h> int main(void)
{
int no;
int x; do{
printf("请输入一个整数:");
scanf("%d", &no); if (no == )
puts("该整数为0。");
else if (no > )
puts("该整数为正数。");
else
puts("该整数为负数。"); printf("要重复一次吗?【yes···0/No···9】:");
scanf("%d", &x);
} while (x == ); }
练习4-2
#include <stdio.h>
int main()
{
int a;
int b;
int sum = ;
int x; puts("请输入两个整数。");
printf("整数a:"); scanf("%d", &a);
printf("整数b:"); scanf("%d", &b);
x=a; do {
sum+=x;
x--;
} while (x!=b-); printf("大于等于%d小于等于%d的所有整数的和是%d",b,a,sum); return ;
}
练习4-3
/*
从输入的整数开始倒数到0
*/ #include <stdio.h> int main(void)
{
int no; printf("请输入一个正整数:");
scanf("%d", &no); while (no >= ) {
printf("%d ", no);
no--;
}
if (no == -) {
printf("\n");
} return ;
}
练习4-4
/*
从输入的整数开始倒数到0
*/ #include <stdio.h> int main(void)
{
int no; printf("请输入一个正整数:");
scanf("%d", &no); while (no > )
printf("%d ", no--); /* no的值在显示之后递减 */
if (no == ) {
printf("\n");
} /* 换行 */ return ;
}
练习4-5
/*
递增显示从0到输入的正整数为止的各个整数
*/ #include <stdio.h> int main(void)
{
int i, no; printf("请输入一个正整数:");
scanf("%d", &no); i = ;
while (i <= no)
printf("%d ", i++); /* i的值在显示之后递增 */
if (no >= ) {
printf("\n");
} /* 换行 */ return ;
}
练习4-6
#include <stdio.h> int main(void)
{
int no;
int i; printf("请输入一个正整数:");
scanf("%d", &no); i = ;
while (i < no) {
if ((i % )==) {
printf("%d ", i);
}
i++;
} return ;
}
练习4-7
#include <stdio.h>
int main(void)
{
int n1, n2; printf("请输入一个整数:");
scanf("%d", &n1); n2 = ;
while (n2 < n1) {
printf("%d ", n2);
n2 *= ;
}
putchar('\n'); return ;
}
练习4-8
/*
输入一个整数,连续显示出该整数个*
*/ #include <stdio.h> int main(void)
{
int no; printf("正整数");
scanf("%d", &no); while (no-- > ) {
putchar('*');
}
if (no == -)
putchar('\n'); return ;
}
练习4-9
#include <stdio.h>
int main(void)
{
int no;
printf("正整数:");
scanf("%d", &no);
int i;
i = ;
while (i < no) {
if (no % )
{
printf("+");
}
else
{
printf("-");
}
no--;
} return ;
}
练习4-10
#include <stdio.h>
int main(void)
{
int no;
printf("正整数:");
scanf("%d", &no);
while (no-- > ) {
putchar('*');
putchar('\n');
}
return ;
}
练习4-11
/*
逆向显示正整数
*/ #include <stdio.h> int main(void)
{
int no; do {
printf("请输入一个正整数:");
scanf("%d", &no);
if (no <= )
puts("\a请不要输入非正整数。");
} while (no <= );
int x = no; printf("%d逆向显示的结果是",x);
while (no > ) {
printf("%d",no % ); /* 显示最后一位数 */
no /= ; /* 右移一位 */
}
puts("。"); return ;
}
练习4-12
#include <stdio.h> int main(void)
{
int no;
int x;
int i;
i = ;
printf("请输入一个正整数:");
scanf("%d", &no);
x = no;
while (no>)
{
no/=;
i++; }
printf("%d的位数是%d", x,i);
return ;
}
练习4-13
#include <stdio.h> int main(void)
{
int n;
int i;
int sum;
sum = ;
printf("n的值:");
scanf("%d", &n);
for (i = ; i <= n; i++) {
sum += i;
}
printf("1到%d的和为%d", i-, sum); }
练习4-14
#include <stdio.h> int main(void)
{
int no;
int i;
printf("请输入一个整数:");
scanf("%d", &no);
for (i = ; i <=no; i++) {
printf("%d",i%); } }
练习4-15
#include <stdio.h> int main(void)
{
int begin;
int final;
int interval;
int i;
printf("开始数值(cm):");
scanf("%d", &begin);
printf("结束数值(cm):");
scanf("%d", &final);
printf("间隔数值(cm):");
scanf("%d", &interval);
int x;
x = begin; for (i = ; i <=(final - x) / interval; i++) {
printf("%dcm\t%.2fkg", begin, (begin - ) * 0.9);
putchar('\n');
begin += interval;
}
}
练习4-16
#include <stdio.h> int main(void)
{
int no;
int i;
printf("整数值:");
scanf("%d", &no);
putchar('\n');
for (i = ; i <=no; i += ) {
printf("%d ", i);
}
}
练习4-17
#include <stdio.h> int main(void)
{
int n;
printf("n的值是:");
scanf("%d",&n);
int i;
for (i = ; i <= n; i++) {
printf("%d的二次方是%d",i,i*i);
putchar('\n'); }
}
练习4-18
#include <stdio.h> int main(void)
{
int n;
printf("显示多少个*:");
scanf("%d",&n);
int i;
for (i = ; i <= n; i++) {
putchar('*');
if (i % == ) {
putchar('\n');
} }
}
练习4-19
#include <stdio.h> int main(void)
{
int i, n;
int m;
m = ; printf("整数值:");
scanf("%d", &n); for (i = ; i <= n; i++)
if (n % i == ) {
printf("%d ", i);
putchar('\n');
m++;
}
printf("约数有%d个。", m);
return ;
}
练习4-20
#include <stdio.h> int main(void)
{
int i, j;
printf(" |");
for (i = ; i < ; i++) {
printf("%3d", i);
}
putchar('\n');
for (i = ; i < ; i++) {
putchar('-');
}
putchar('\n'); for (i = ; i <= ; i++) {
printf("%d|", i);
for (j = ; j <= ; j++)
printf("%3d", i * j);
putchar('\n'); }
}
练习4-21
#include <stdio.h> int main(void)
{
int height;
int i, j;
printf("生成一个正方形\n");
printf("正方形有几层:");
scanf("%d", &height);
for (i = ; i < height; i++) { for (j = ; j < height; j++) {
putchar('*'); }
putchar('\n');
}
}
练习4-22
#include <stdio.h> int main(void)
{
int a,b;
int i, j;
int height;
int length;
printf("让我们画一个长方形\n");
printf("一边:");
scanf("%d", &a);
printf("另一边:");
scanf("%d", &b);
length = (a > b) ? a : b;
height = (a < b) ? a : b;
for (i = ; i < height; i++) { for (j = ; j < length; j++) {
putchar('*'); }
putchar('\n');
}
}
练习4-23
/*
显示直角在左上方的等腰直角三角形
*/ #include <stdio.h> int main(void)
{
int i, j, len; puts("生成直角在左上方的等腰直角三角形。");
printf("短边:");
scanf("%d", &len); for (i = len; i >= ; i--) { /* i 行(i = 1, 2, --- , len) */
for (j = ; j <= i; j++) /* 每行显示i 个'*' */
putchar('*');
putchar('\n'); /* 换行 */
} return ;
}
/*
显示直角在右上方的等腰直角三角形
*/ #include <stdio.h> int main(void)
{
int i, j, len; puts("生成直角在右上方的等腰直角三角形。");
printf("短边:");
scanf("%d", &len); for (i = len; i >=; i--) { /* i 行(i = 1, 2, --- , len) */
for (j = ; j <= len - i; j++) /* 每行显示len-i 个' ' */
putchar(' ');
for (j = ; j <= i; j++) /* 每行显示i 个'*' */
putchar('*');
putchar('\n'); /* 换行 */
} return ;
}
练习4-24
#include <stdio.h> int main(void)
{
int i, j, len; puts("让我们来画一个金字塔。");
printf("金字塔有几层:");
scanf("%d", &len); for (i = ; i <= len; i++) {
for (j = ; j<len-i; j++) {
putchar(' ');
}
for (j = ; j < ((i - ) * + ); j++)
{
putchar('*'); }
putchar('\n');
} return ;
}
练习4-25
#include <stdio.h> int main(void)
{
int i;
int j;
int len;
puts("让我们来画一个向下的金字塔");
printf("金字塔有几层:");
scanf("%d", &len);
for (i = ; i <= len; i++) {
for (j = ; j < i - ; j++)
{
putchar(' ');
}
for (j = ; j < (len - i) * + ; j++) {
printf("%d", i%);
}
for (j=; j <i-; j++)
{
putchar(' ');
}
putchar('\n'); } }
明解C语言 入门篇 第四章答案的更多相关文章
- 明解C语言 入门篇 第六章答案
练习6-1 /* 求两个整数中的最小值 */ #include <stdio.h> /*--- 返回三个整数中的最小值 ---*/ int min2(int a, int b) { int ...
- 明解C语言 入门篇 第五章答案
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...
- 明解C语言 入门篇 第三章答案
练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...
- 明解C语言 中级篇 第四章答案
练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...
- 明解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语言 中级篇 第三章答案
练习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 ...
随机推荐
- Python简单的抓取静态网页内容
import requests from bs4 import BeautifulSoup res = requests.get('http://news.sina.com.cn/china/')#获 ...
- Spring Cloud 版本控制
### 正常版本 ``` org.springframework.boot spring-boot-starter-parent 2.1.7.RELEASE ``` ### SpringCloud 版 ...
- 手动模拟JDK动态代理
为哪些方法代理? 实现自己动态代理,首先需要关注的点就是,代理对象需要为哪些方法代理? 原生JDK的动态代理的实现是往上抽象出一层接口,让目标对象和代理对象都实现这个接口,怎么把接口的信息告诉jdk原 ...
- Kafka 学习笔记之 Topic日志清理
Topic日志清理 server.properties: log.cleanup.policy=delete (默认) 1. 按时间维度进行Kafka日志清理 log.retention.hours= ...
- 使用Jmeter并发websocket协议项目
1.安装Jmeter 网址:http://jmeter.apache.org/下载 2.启动Jmeter \apache-jmeter-5.1.1\bin\jmeter.bat 3.安装‘Plugin ...
- Python制作有道翻译小工具
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...
- 关于Stream的知识分享
一.什么是Stream 查了一下MSDN,他是这么解释的:提供字节序列的一般视图. 这个解释有点太笼统了,下面,我们来仔细的捋一下 1.什么是字节序列? 字节序列指的是:字节对象被存储为连续的字节序列 ...
- .NET实时2D渲染入门·动态时钟
.NET实时2D渲染入门·动态时钟 从小以来"坦克大战"."魂斗罗"等游戏总令我魂牵梦绕.这些游戏的基础就是2D实时渲染,以前没意识,直到后来找到了Direct ...
- html简介(1)
HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言: HyperText Markup Language HTML 不是一种编程语言,而是一种标记语言
- 03jmeter-json提取器
要解决的问题:接口返回数据为json格式,需要获取返回结果中的某些值以便后续接口使用 注:可用json path tester(https://jsonpath.curiousconcept.com/ ...