练习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语言 入门篇 第四章答案的更多相关文章

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

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

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

    练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...

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

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

  4. 明解C语言 中级篇 第四章答案

    练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...

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

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

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

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

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

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

  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. Linux——基本命令

    目录 一.目录切换命令 二.目录操作命令(增删改查) 2.1增加目录 2.2查看目录 2.3寻找目录(搜索) 2.4修改目录名称 2.5移动目录位置(剪切) 2.6拷贝目录 2.7删除目录 三.文件的 ...

  2. opencv之为图像添加边界

    我们经常会有对图像边缘做扩展的需求.比如 希望卷积后得到的矩阵大小不变 希望改变图像大小,但是不改变宽高比 opencv实现 opencv中使用copyMakeBorder()来完成这一功能 api ...

  3. docker 使用及基本命令

    一.docker简单使用 a.列出镜像 docker images b.从docker hub拉取最新版本镜像 docker pull xxx 错误: Error response from daem ...

  4. 快学Scala 第七课 (类构造函数)

    类 主构造器: class Person (var name: String){ } 主构造参数可以不带val或者var,如果没有被其他方法使用,则不保存为字段. 如果被其他方法使用,则被升格为字段, ...

  5. Django默认权限机制介绍及实践

    演示Django版本为当前最新版本v2.2 当Django配置文件中的INSTALL_APPS包含了django.contrib.auth时,就默认启用了一个简单的权限系统,提供了为用户或组分配权限的 ...

  6. 你真的懂Spring Java Config 吗?Full @Configuration vs lite @Bean mode

    Full @Configuration和lite @Bean mode 是 Spring Java Config 中两个非常有意思的概念. 先来看一下官方文档关于这两者的相关内容: The @Bean ...

  7. django-drf框架中排序和查询组件

    0910自我总结 django-drf框架中排序和查询组件 一查询相关 1.模糊查询 1.导入模块组件 from rest_framework.filters import SearchFilter ...

  8. 在SRAM、FLASH中调试代码的配置方法(附详细步骤)

    因为STM32的FLASH擦写次数有限(大概为1万次),所以为了延长FLASH的使用时间,我们平时调试时可以选择在SRAM中进行硬件调试.除此之外,SRAM 存储器的写入速度比在内部 FLASH 中要 ...

  9. Redis学习三(进阶功能).

    一.排序 redis 支持对 list,set 和 zset 元素的排序,排序的时间复杂度是 O(N+M*log(M)).(N 是集合大小,M 为返回元素的数量) sort key [BY patte ...

  10. CentOS6-Linux内核编译 详细步骤

    CentOS6-Linux内核编译 详细步骤 背景 Win10用VMwareWorkstation搭的虚拟机 CentOS6.5,内核版本2.6.32-431.el6.x86_64 在该环境下升级至4 ...