明解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 ...
随机推荐
- j2ee开发之struts2框架学习笔记
Struts2框架技术重点笔记 1.Struts2 是在webwork基础上发展而来. 2.Struts2 不依赖struts API和 servlet API 3.Struts2提供了拦截器,表现层 ...
- C语言I—2019秋作业02
1.[新增内容] 这个作业属于那个课程 C语言程序设计 这个作业要求在哪里 <C语言I-2019秋作业02> 我在这个课程的目标是 这个作业在那个具体方面帮助我实现目标 <实现一些基 ...
- 概率与期望详解!一次精通oi中的概率期望
目录 基础概念 最大值不超过Y的期望 概率为P时期望成功次数 基础问题 拿球 随机游走 经典问题 期望线性性练习题 例题选讲 noip2016换教室 区间交 0-1边树求直径期望 球染色 区间翻转 二 ...
- mysql操作遇到的坑(第二版)
1.通过条件查询出上一条与下一条 sql说明:本表关联本表,然后通过其中一个表,查询出对应的条件,再用另外一个表求出上一条与下一条的数据,求出来的数据是多条的 SELECT ua.id, ua.wx_ ...
- 从React-Native坑中爬出,我记下了这些
吐槽 如果React-Native是个人,我估计已经想要打死他了... 上一篇文章 当React开发者初次走进React-Native的世界 前言 最近因为业务需要,做了一些关于React-Nativ ...
- 特殊的ARP
免费ARP 协议内容:是指主机发送ARP请求自己的IP地址 作用: 测试网络中是否存在相同的IP地址 更新网络中其他主机的地址绑定信息 补充:根据ARP协议规定,网络中的主机如果收到某个IP地址的AR ...
- MongoDB 学习笔记之 $push,$each,$slice组合使用
$push使用: 使用$push给数组添加2个新成员 db.ArrayTest.updateOne({ "name" : "Bill"},{$push: {&q ...
- Java通过JDK动态代理简单的实现一个AOP
首先说一下,因为自己还没有去研读spring的AOP的源码,只是大致知道其功能,便想着自己先手动实现一个先看看,觉得这样以后研读源码的时候会收获更多! 实现:做一个在添加注解的方法执行之前,可以先执行 ...
- android设置透明状态栏
先是半透明效果(两种方法): 第一种(简单): //直接将下面的代码放在activity中的setContentView(R.layout.activity_main);中之前就行了 if (Buil ...
- 实验室工作站jupyterhub安装笔记
本篇文章为实验室工作站的jupyterhub安装配置笔记,由于软硬件等各种区别,安装过程难免有所区别,仅供大家参考. 实验室新到一台深度学习工作站,原本想装一个juoyter notebook直接开干 ...