《明解c语言 入门篇》柴田望洋/著 205段代码

资料下载

https://www.ituring.com.cn/book/1671,点击“随书下载”;

第1章 初识c语言

1-1 显示计算结果

计算整数的和并显示结果:

代码清单1-1 显示整数5和37的和

#include<stdio.h>

int main()
{
	printf("%d", 15 + 37);
}

在这里插入图片描述
/**/

1-2 变量

代码清单1-2 显示整数15-37的差

#include<stdio.h>

int main()
{
	printf("%d", 15 - 37);
}

在这里插入图片描述

1-3 输入和显示

代码清单1-3 人性化地显示15与37的和

int main()
{
	printf("15与37的和是:%d", 15 + 37);
}

在这里插入图片描述
代码清单1-4 打招呼并自我介绍

#include<stdio.h>

int main()
{
	printf("您好!我叫柴田望洋");
}

在这里插入图片描述
代码清单1-5 打招呼并进行自我介绍(打招呼和自我介绍分行显示1)

#include<stdio.h>

int main()
{
	printf("您好!\n我叫柴田望洋");
}

在这里插入图片描述
代码清单1-6 打招呼并进行自我介绍(打招呼和自我介绍分行显示2)

#include<stdio.h>

int main()
{
	printf("您好!\n");
	printf("我叫柴田望洋\n");
}

在这里插入图片描述
代码清单1-7 打招呼并响铃3次

#include<stdio.h>

int main()
{
	printf("您好! \a\a\a\n");//\a表示响铃
}

在这里插入图片描述
// \a 电脑确实有响铃声音,是从音响中发出的。
代码清单1-8 为两个变量赋整数值并显示

#include<stdio.h>

int main()
{
	int vx, vy;
	vx = 57;
	vy = vx + 10;
	printf("vx的值是%d\n", vx);
	printf("vy的值是%d\n", vy);
}

在这里插入图片描述
代码清单1-9 在不为两个变量赋值的情况下显示

#include<stdio.h>

int main()
{
	int vx, vy;
	printf("vx的值是%d\n", vx);
	printf("vy的值是%d\n", vy);
}

在这里插入图片描述这是由于变量vx,vy只定义了int型,没有定义具体数值的结果,这时里面会是一个垃圾值;

代码清单1-10 变量的声明并初始化赋值

#include<stdio.h>

int main()
{
	int vx = 57;
	int vy = vx + 10;

	printf("vx的值是%d\n", vx);
	printf("vy的值是%d\n", vy);
}

在这里插入图片描述
声明就是哪个类型;初始化指赋值
代码清单1-11 显示并确认输入的整数值

int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);//和printf不同,scanf需要加&取地址符
	printf("您输入的是%d", no);
}

在这里插入图片描述
代码清单1-12 读取一个整数并显示其5倍数的值

#include<stdio.h>

int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);//和printf不同,scanf需要加&
	printf("它的5倍数是%d\n", 5 * no);
}

在这里插入图片描述
代码清单1-13 显示出读取到的两个整数的和

#include<stdio.h>

int main()
{
	int n1, n2;

	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);

	printf("他们的和是%d\n", n1 + n2);
}

在这里插入图片描述
代码清单1-14 显示出读取到的两个整数的和

#include<stdio.h>

int main()
{
	int n1, n2;
	int wa;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	wa = n1 + n2;
	printf("他们的和是%d\n", wa);
}

在这里插入图片描述

第2章 运算和数据类型

2-1 运算

代码清单2-1 读取两个整数的值,然后显示出他们的和、差、积商和余数

#include<stdio.h>

int main()
{
	int vx, vy;
	puts("请输入两个整数");
	printf("整数vx:"); scanf("%d", &vx);
	printf("整数vy:"); scanf("%d", &vy);

	printf("vx+vy=%d\n", vx+vy);
	printf("vx-vy=%d\n", vx - vy);
	printf("vx*vy=%d\n", vx * vy);
	printf("vx/vy=%d\n", vx / vy);
	printf("vx%%vy=%d\n", vx % vy);//格式化字符串中如果有2个连续的%那么只执行一个
}

在这里插入图片描述

2-2 数据类型

代码清单2-2 模10提取整数最末尾数字

#include<stdio.h>

int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	printf("最后一位是%d\n", no % 10);
}

在这里插入图片描述
代码清单2-3 读取两个整数,显示它们的商和余数

#include<stdio.h>

int main()
{
	int a, b;
	puts("请输入两个整数");
	printf("整数a:"); scanf("%d", &a);
	printf("整数b:"); scanf("%d", &b);
	printf("a除以b商%d余%d\n", a / b, a % b);
}

在这里插入图片描述
代码清单2-4 对读取的整数值进行符号取反操作并输出结果

#include<stdio.h>

int main()
{
	int num;
	printf("请输入一个整数");
	scanf("%d", &num);
	printf("%d", -num);
}

在这里插入图片描述
代码清单2-5 读取两个整数显示出它们的平均值

#include<stdio.h>

int main()
{
	int a, b;
	puts("请输入两个整数");
	printf("整数a:"); scanf("%d", &a);
	printf("整数b:"); scanf("%d", &b);
	printf("它们的平均值是:%d", (a + b) / 2);
}

在这里插入图片描述
代码清单2-6 整数和浮点数

#include<stdio.h>

int main()
{
	int n;
	double x;//浮点数

	n = 9.99; x = 9.99;
	printf("int型变量n的值:%d\n", n);
	printf("n/2:%d\n", n / 2);
	printf("double型变量x的值:%f\n", x);
	printf("x/2.0:%f\n", x / 2.0);
}

在这里插入图片描述
代码清单2-7 读取两个实数值,用实数显示出它们的和、差、积、商

#include<stdio.h>

int main()
{
	double vx, vy;
	puts("请输入两个数");
	printf("实数vx:"); scanf("%lf", &vx);
	printf("实数vy:"); scanf("%lf", &vy);
	printf("vx+vy=:%f\n", vx + vy);
	printf("vx-vy=:%f\n", vx - vy);
	printf("vx*vy=%f\n", vx * vy);
	printf("vx/vy=%f\n", vx / vy);
}

在这里插入图片描述
double类型数据,不能进行%求余运算
代码清单2-8 验证数据类型和运算

#include<stdio.h>

int main()
{
	int n1, n2, n3, n4;
	double d1, d2, d3, d4;
	n1 = 5 / 2; n2 = 5.0 / 2.0; n3 = 5.0 / 2; n4 = 5 / 2.0;
	d1 = 5 / 2; d2 = 5.0 / 2.0; d3 = 5.0 / 2; d4 = 5 / 2.0;
	printf("%d %d %d %d\n", n1, n2, n3, n4);
	printf("%f %f %f %f\n", d1, d2, d3, d4);
}

在这里插入图片描述
运算只要一个变量是带小数点的,结果就是带小数点的。

代码清单2-9 读取两个整数并用浮点数显示出它们的平均值

#include<stdio.h>

int main()
{
	int a, b;
	puts("请输入两个整数");
	printf("整数a:"); scanf("%d", &a);
	printf("整数b:"); scanf("%d", &b);
	printf("它们的平均值是%f\n", (a + b) / 2.0);
}

在这里插入图片描述

代码清单2-10 强制类型转换

#include<stdio.h>

int main()
{
	int a, b;
	puts("请输入两个整数");
	printf("整数:"); scanf("%d", &a);
	printf("整数:"); scanf("%d", &b);
	printf("它们的平均值是:%f\n",(double)(a+b)/2);
}

在这里插入图片描述
代码2-11 读取三个整数并显示出它们的合计值和平均值

#include<stdio.h>
int main()
{
	int a, b, c, sum; double ave;
	puts("请输入三个整数");
	printf("整数a:"); scanf("%d", &a);
	printf("整数b:"); scanf("%d", &b);
	printf("整数c:"); scanf("%d", &c);
	sum = a + b + c;
	ave = (double)sum / 3;
	printf("它们的合计值是%5d\n", sum);
	printf("它们的平均值是%5.1f\n", ave);
}

在这里插入图片描述
代码2-12 格式化整数和浮点数并显示

#include<stdio.h>
int main()
{
	printf("[%d]\n", 123);
	printf("[%.4d]\n", 123);
	printf("[%4d]\n", 123);
	printf("[%04d]\n", 123);
	printf("[%-4d]\n\n", 123);

	printf("[%d]\n", 12345);
	printf("[%.3d]\n", 12345);
	printf("[%3d]\n", 12345);
	printf("[%03d]\n", 12345);
	printf("[%-3d]\n\n", 12345);

	printf("[%f]\n", 123.13);
	printf("[%.1f]\n", 123.13);
	printf("[%6.1f]\n\n", 123.13);

	printf("[%f]\n", 123.13);
	printf("[%.1f]\n", 123.13);
	printf("[%4.1f]\n\n", 123.13);
}

在这里插入图片描述

第3章 分支解雇程序

3-1 if语句

代码清单3-1 输入的整数能被5整除

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no % 5)
		puts("输入的整数不能被5整除");
	else
		puts("输入的整数能被5整除");
}

在这里插入图片描述
在这里插入图片描述
代码清单3-2 输入的整数是奇数吗

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no % 2)
		puts("输入的整数是奇数");
	else
		puts("输入的整数不是奇数");
}

在这里插入图片描述
在这里插入图片描述
代码清单3-3 输入的整数能被5整除吗

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no % 5)
		puts("输入的整数不能被5整除");
	else
		puts("输入的整数能被5整除");
}

代码清单3-4 输入的整数值是奇数还是偶数

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no % 2)
		puts("输入的整数是奇数");
	else
		puts("输入的整数是偶数");
}

代码清单3-5 判断输入的整数值否为0

#include<stdio.h>
int main()
{
	int num;
	printf("请输入一个整数");
	scanf("%d", &num);
	if (num)
		puts("该整数不是0");
	else
		puts("该整数是0");
}

在这里插入图片描述
代码清单3-6 输入的两个整数相等吗

#include<stdio.h>
int main()
{
	int n1, n2;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	if (n1 == n2)
		puts("它们相等");
	else
		puts("它们不相等");
}

在这里插入图片描述
在这里插入图片描述
代码清单3-7 输入的两个整数相等吗(2)

#include<stdio.h>
int main()
{
	int n1, n2;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	if (n1 != n2)
		puts("它们不相等");
	else
		puts("它们相等");
}

代码清单3-8 个位数是5吗

#include<stdio.h>
int main()
{
	int num;
	printf("请输入一个整数:");
	scanf("%d", &num);
	if ((num % 10) == 5)
		puts("该整数个位数是5");
	else
		puts("该整数个位数不是5");
}

在这里插入图片描述
在这里插入图片描述
代码清单 3-9 判断输入的整数的符号

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no == 0)
		puts("该整数为0");
	else if (no > 0)
		puts("该整数为正数");
	else
		puts("该整数为负数");
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码清单3-10 嵌套if else,如果输入的整数值为正,则判断该值的奇偶性并显示

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no > 0)
		if (no % 2 == 0)
			puts("该整数为偶数");
		else
			puts("该整数为奇数");
	else
		puts("您输入的不是正数");
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码清单3-11 显示所输入的两个整数中较大的数

int main()
{
	int n1, n2;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	if (n1 > n2)
		printf("较大的数是%d\n", n1);
	else
		printf("较大的数是%d\n", n2);
}

代码清单3-12 显示所输入的两个整数中较大的数(2)

#include<stdio.h>
int main()
{
	int n1, n2,max;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	if (n1 > n2) max = n1; else max = n2;
	printf("较大的数是%d",max);
}

代码清单3-13 计算所输入的三个整数中的最大值并显示

#include<stdio.h>
int main()
{
	int n1, n2,n3,max;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);
	printf("整数2:"); scanf("%d", &n3);
	max = n1;
	if (n2 > max) max = n2;
	if (n3 > max) max = n3;
	printf("最大值是%d", max);
}

代码清单3-14 显示所输入的两个整数中的较大的数(3)

#include<stdio.h>
int main()
{
	int n1, n2,max;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);

	max = (n1 > n2) ? n1 : n2;
	printf("较大的数是%d\n", max);
}

代码清单3-15 计算输入的两个整数的差并显示(条件运算符)

#include<stdio.h>
int main()
{
	int n1, n2,max;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2:"); scanf("%d", &n2);

	printf("它们的差是%d", (n1 > n2) ? n1 - n2 : n2 - n1);
}

代码清单3-16 计算所输入的两个整数中的较大数和较小数并显示

#include<stdio.h>
int main()
{
	int n1, n2,max,min;
	puts("请输入两个整数");
	printf("整数1:"); scanf("%d", &n1);
	printf("整数2;"); scanf("%d", &n2);
	if (n1 > n2)
	{
		max = n1; min = n2;
	}
	else
	{
		max = n2; min = n1;
	}
	printf("较大的数是%d\n", max);
	printf("较小的数是%d\n", min);
}

代码清单3-17 显示所输入的月份所处的季节

#include<stdio.h>
int main()
{
	int month;
	printf("请输入月份");
	scanf("%d", &month);
	if (month >= 3 && month <= 5)
		printf("%d月是春季\n", month);
	else if (month >= 6 && month <= 8)
		printf("%d月是夏季\n", month);
	else if (month >= 9 && month <= 11)
		printf("%d月是秋季", month);
	else
		printf("%d月不存在", month);
}

3-2 switch语句

代码清单3-18 显示所输入的整数除以3的余数

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	if (no % 3 == 0)
		puts("该整数能被3整除");
	else if (no % 3 == 1)
		puts("该整数除以3的余数是1");
	else
		puts("该整数除以3的余数是2");
}

代码清单3-19 显示所输入的整数除以3的余数(switch)

#include<stdio.h>
int main()
{
	int no;
	printf("请输入一个整数");
	scanf("%d", &no);
	switch (no % 3)
	{
		case 0:puts("该数能被3整除");  break;
		case 1:puts("该数除以3的余数是1");  break;
		case 2:puts("该数除以3的余数是2"); break;
	}	
}

代码清单3-20 确认swith语句动作的程序

#include<stdio.h>
int main()
{
	int sw;
	printf("整数");
	scanf("%d", &sw);
	switch (sw)
	{
	case 1:puts("A"); puts("B"); break;
	case 2:puts("C");
	case 5:puts("D"); break;
	case 6:
	case 7:puts("E"); break;
	default:puts("F"); break;
	}
}

在这里插入图片描述
当控制表达式的判断结果与任何一case都不一致时候,程序就会跳转到default;
代码清单3-20 确认swith语句动作的程序

第4章 程序的循环控制

4-1 do while语句

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
	int retry;//要继续吗
	do
	{
		int no;
		printf("请输入一个整数:");
		scanf("%d", &no);

		if (no % 2)
			puts("这是一个奇数。");
		else
			puts("这是一个偶数。");
		printf("再输入一次吗?【Yes按0/No按9】:");
		scanf("%d", &retry);
	} while (retry == 0);
	return 0;
}

在这里插入图片描述
结构:
do
{
…;
}while()
do是执行的意思,while是在什么什么器件,do while语句意思是,在while()为1成立,do{}就会不断循环,直到while()不为1,跳出do{}循环体;
要再输入一次吗?
0→&retry接收到0→传给while(retry == 0)控制表达式判断,0等于0,为真了,所有就要循环,重头再执行do{};
3,4,55,you5&retry接收到不为0→传给while(retry = 0)控制表达判断,3,4,55,这些不等于0,判断为假,do{}循环体就去不再执行了;

复合语句(程序块)中的声明

本例中do语句的循环体是{}之间的部分,称为复合语句(程序块);
变量no是在do语句中的复合语句部分进行声明的,需要注意的是,仅在复合语句中使用的变量通常要在复合语句中进行声明;
复合语句是由{0个以上声明 0个以上语句}组成的;参考第三章

限定值范围的读取

#define _CRT_SECURE_NO_WARNINGS
/*
	根据读取的整数值显示所出的拳(只接收0、1、2)
*/

#include <stdio.h>

int main(void)
{
	int retry;//要继续吗
	do
	{
		int hand;	/* 出拳 */

		do {
			printf("请选择出什么拳【数字0代表石头,1代表剪刀2代表布】:");
			scanf("%d", &hand);
		} while (hand < 0 || hand > 2);//hand小于0或者hand大于2,就不执行do语句

		printf("你选择了");
		switch (hand) {//switch(编号)
		case 0: printf("石头。\n");	break;//编号0
		case 1: printf("剪刀。\n");	break;//编号1
		case 2: printf("布。\n");	break;//编号2
		}
		
		printf("再输入一次吗?【Yes按0/No按9】:");
		scanf("%d", &retry);//scanf()可以从键盘读取到输入的信息;
	} while (retry == 0);//while判断为真就执行do语句
	return 0;
}

在这里插入图片描述

求多个整数的和及平均值

#define _CRT_SECURE_NO_WARNINGS
/*
	不停地输入整数,显示其和及平均值
*/

#include <stdio.h>

int main(void)
{
	int sum = 0;	/* 和 */
	int cnt = 0;	/* 整数个数 */
	int retry;		/* 是否继续处理 */

	do {
		int t;

		printf("请输入一个整数:");
		scanf("%d", &t);

		sum = sum + t;	 /* 将sum加t的结果赋值给sum(sum加t)*/
		cnt = cnt + 1;	 /* 将cnt加1的结果赋值给cnt(cnt加1)*/

		printf("是否继续? <Yes… 0/No… 9>:");
		scanf("%d", &retry);
	} while (retry == 0);

	printf("和为%d,平均值为%.2f。\n", sum, (double)sum / cnt);

	return 0;
}

在这里插入图片描述
在这里插入图片描述

复合赋值运算符

+=号;如
sun=sum+t;等效于sun+=t;

#define _CRT_SECURE_NO_WARNINGS
/*
	不停地输入整数,显示其和及平均值
*/

#include <stdio.h>

int main(void)
{
	int sum = 0;	/* 和 */
	int cnt = 0;	/* 整数个数 */
	int retry;		/* 是否继续处理 */

	do {
		int t;

		printf("请输入一个整数:");
		scanf("%d", &t);

		sum = sum + t;	 /* 将sum加t的结果赋值给sum(sum加t)*/
		cnt = cnt + 1;	 /* 将cnt加1的结果赋值给cnt(cnt加1)*/

		printf("是否继续? <Yes… 0/No… 9>:");
		scanf("%d", &retry);
	} while (retry == 0);

	printf("和为%d,平均值为%.2f。\n", sum, (double)sum / cnt);

	return 0;
}

在这里插入图片描述

4-2 while语句

输入一个整数,显示从他开始递减到0

#define _CRT_SECURE_NO_WARNINGS
/*
	从输入的整数开始倒数到0
*/

#include <stdio.h>

int main(void)
{
	int no;

	printf("请输入一个正整数:");
	scanf("%d", &no);

	while (no >= 0) {
		printf("%d ", no);
		no--;			/* no的值递减 */
	}
	printf("\n");		/* 换行 */

	return 0;
}

在这里插入图片描述
4-7输入一个整数,显示从0开始到他的递增

#define _CRT_SECURE_NO_WARNINGS
/*
	递增显示从0到输入的正整数为止的各个整数
*/

#include <stdio.h>

int main(void)
{
	int i, no;

	printf("请输入一个正整数:");
	scanf("%d", &no);

	i = 0;
	while (i <= no)
		printf("%d ", i++);		/* i的值在显示之后递增 */
	printf("\n");				/* 换行 */

	return 0;
}


4-8限定次数的循环

#define _CRT_SECURE_NO_WARNINGS
/*
	输入一个整数,连续显示出该整数个*
*/

#include <stdio.h>

int main(void)
{
	int no;

	printf("正整数");
	scanf("%d", &no);

	while (no-- > 0)
		putchar('*');
	putchar('\n');

	return 0;
}


在这里插入图片描述
前置递增、递减运算符
前置递增运算符 ++a 使a的值增加1(该表达式的值是增加后的值)
前置递增运算符 --a 使a的值减小1(该表达式的值是减小后的值)
4-9输入规定个数个整数并显示出它们的合计值和平均值

#define _CRT_SECURE_NO_WARNINGS
/*
	输入规定个数个整数并显示出它们的合计值和平均值
*/

#include <stdio.h>

int main(void)
{
	int i = 0;
	int sum = 0;			/* 合计值 */
	int num, tmp;

	printf("要输入多少个整数:");
	scanf("%d", &num);

	while (i < num) {
		printf("No.%d丗", ++i);		/* i的值递增后显示 */
		scanf("%d", &tmp);
		sum += tmp;
	}

	printf("合计值:%d\n", sum);
	printf("平均值:%.2f\n", (double)sum / num);

	return 0;
}

在这里插入图片描述
逆向显示整数值
4-10逆向显示正整数

#define _CRT_SECURE_NO_WARNINGS
/*
	逆向显示正整数
*/

#include <stdio.h>

int main(void)
{
	int no;

	do {
		printf("请输入一个正整数:");
		scanf("%d", &no);
		if (no <= 0)
			puts("\a请不要输入非正整数。");
	} while (no <= 0);

	/* no比0大时 */
	printf("该整数逆向显示的结果是");
	while (no > 0) {
		printf("%d", no % 10);		/* 显示最后一位数 */
		no /= 10;					/* 右移一位 */
	}
	puts("。");

	return 0;
}


在这里插入图片描述

4-3 for语句

4-11递增显示从0到输入的正整数为止的各个整数(使用for语句)

#define _CRT_SECURE_NO_WARNINGS
/*
	递增显示从0到输入的正整数为止的各个整数(使用for语句)
*/

#include <stdio.h>

int main(void)
{
	int i, no;

	printf("请输入一个正整数:");
	scanf("%d", &no);

	for (i = 0; i <= no; i++)
		printf("%d ", i);
	putchar('\n');		/* 换行 */

	return 0;
}

在这里插入图片描述
使用for语句实现固定次数的循环
4-12输入一个整数,连续显示出该整数个(使用for 语句)*

#define _CRT_SECURE_NO_WARNINGS
/*
	输入一个整数,连续显示出该整数个*(使用for 语句)
*/

#include <stdio.h>

int main(void)
{
	int i, no;

	printf("正整数");
	scanf("%d", &no);

	for (i = 1; i <= no; i++)
		putchar('*');
	putchar('\n');

	return 0;
}

在这里插入图片描述
4-13输入规定个数个整数并显示出它们的合计值和平均值(使用for 语句)

#define _CRT_SECURE_NO_WARNINGS
/*
	输入规定个数个整数并显示出它们的合计值和平均值(使用for 语句)
*/

#include <stdio.h>

int main(void)
{
	int i = 0;
	int sum = 0;			/* 合计值 */
	int num, tmp;

	printf("输入多少个整数:");
	scanf("%d", &num);

	for (i = 0; i < num; i++) {
		printf("No.%d:", i + 1);
		scanf("%d", &tmp);
		sum += tmp;
	}

	printf("合计值:%d\n", sum);
	printf("平均值:%.2f\n", (double)sum / num);

	return 0;
}

在这里插入图片描述
偶数的枚举
4-14显示输入的整数值以下的偶数

#define _CRT_SECURE_NO_WARNINGS
/*
	显示输入的整数值以下的偶数
*/

#include <stdio.h>

int main(void)
{
	int i, n;

	printf("整数值:");
	scanf("%d", &n);

	for (i = 2; i <= n; i += 2)
		printf("%d ", i);
	putchar('\n');

	return 0;
}

在这里插入图片描述
约数的枚举
4-14显示输入的整数值的所有约数

#define _CRT_SECURE_NO_WARNINGS
/*
	显示输入的整数值的所有约数
*/

#include <stdio.h>

int main(void)
{
	int i, n;

	printf("整数值:");
	scanf("%d", &n);

	for (i = 1; i <= n; i++)
		if (n % i == 0)
			printf("%d ", i);
	putchar('\n');

	return 0;
}

在这里插入图片描述

4-4 多重循环

4-16显示九九乘法表

#define _CRT_SECURE_NO_WARNINGS
/*
	显示九九乘法表
*/

#include <stdio.h>

int main(void)
{
	int i, j;

	for (i = 1; i <= 9; i++) {
		for (j = 1; j <= 9; j++)
			printf("%3d", i * j);
		putchar('\n');				/* 换行 */
	}

	return 0;
}

在这里插入图片描述
显示图像
4-17画一个长方形

#define _CRT_SECURE_NO_WARNINGS
/*
	画一个长方形
*/

#include <stdio.h>

int main(void)
{
	int i, j;
	int height, width;

	puts("让我们来画一个长方形。");
	printf("高:");   scanf("%d", &height);
	printf("宽:");   scanf("%d", &width);

	for (i = 1; i <= height; i++) {			/* 长方形有height行 */
		for (j = 1; j <= width; j++)		/* 显示width 个'*'* */
			putchar('*');
		putchar('\n');						/* 换行 */
	}
	return 0;
}

在这里插入图片描述
4-18显示直角在左下方的等腰直角三角形

#define _CRT_SECURE_NO_WARNINGS
/*
	显示直角在左下方的等腰直角三角形
*/

#include <stdio.h>

int main(void)
{
	int i, j, len;

	puts("生成直角在左下方的等腰直角三角形。");
	printf("短边:");
	scanf("%d", &len);

	for (i = 1; i <= len; i++) {		/* i 行(i = 1, 2, --- , len) */
		for (j = 1; j <= i; j++)		/* 每行显示i 个'*' */
			putchar('*');
		putchar('\n');					/* 换行 */
	}

	return 0;
}

在这里插入图片描述
4-19显示直角在右下方的等腰直角三角形

#define _CRT_SECURE_NO_WARNINGS
/*
	显示直角在右下方的等腰直角三角形
*/

#include <stdio.h>

int main(void)
{
	int i, j, len;

	puts("生成直角在右下方的等腰直角三角形。");
	printf("短边:");
	scanf("%d", &len);

	for (i = 1; i <= len; i++) {		/* i 行(i = 1, 2, --- , len) */
		for (j = 1; j <= len - i; j++)	/* 每行显示len-i 个' ' */
			putchar(' ');
		for (j = 1; j <= i; j++)		/* 每行显示i 个'*' */
			putchar('*');
		putchar('\n');					/* 换行 */
	}

	return 0;
}


在这里插入图片描述

4-5 程序的组成元素和格式

第5章 数组

5-1 数组

5-2 多维数组

#define _CRT_SECURE_NO_WARNINGS
/*
	求4名学生在两次考试中3门课程的总分并显示
*/

#include <stdio.h>

int main(void)
{
	int i, j;
	int tensu1[4][3] = { {91, 63, 78}, {67, 72, 46}, {89, 34, 53}, {32, 54, 34} };
	int tensu2[4][3] = { {97, 67, 82}, {73, 43, 46}, {97, 56, 21}, {85, 46, 35} };
	int sum[4][3];			/* 总分 */

	/* 求两次考试的分数之和 */
	for (i = 0; i < 4; i++) {							/* 4名学生的 */
		for (j = 0; j < 3; j++)							/* 3门课程的 */
			sum[i][j] = tensu1[i][j] + tensu2[i][j];	/* 两次的分数相加 */
	}

	/* 显示第一次考试的分数 */
	puts("第一次考试的分数");
	for (i = 0; i < 4; i++) {
		for (j = 0; j < 3; j++)
			printf("%4d", tensu1[i][j]);
		putchar('\n');
	}

	/* 显示第二次考试的分数 */
	puts("第二次考试的分数");
	for (i = 0; i < 4; i++) {
		for (j = 0; j < 3; j++)
			printf("%4d", tensu2[i][j]);
		putchar('\n');
	}

	/* 显示总分 */
	puts("总分");
	for (i = 0; i < 4; i++) {
		for (j = 0; j < 3; j++)
			printf("%4d", sum[i][j]);
		putchar('\n');
	}

	return 0;
}


在这里插入图片描述

第6章 函数

6-1 什么是函数

6-2 函数设计

6-3 作用域和存储期

第7章 基本数据类型

7-1 基本数据类型和数

7-2 整型和字符型

7-3 浮点型

7-4 运算和运算符

第8章 动手编写各种程序吧

8-1 函数式宏

8-2 排序

8-3 枚举类型

8-4 递归函数

8-5 输入输出和字符

第9章 字符串的基本知识

9-1 什么是字符串

9-2 字符串数组

9-3 字符串处理

第10章 指针

10-1 指针

10-2 指针和函数

10-3 指针和数组

第11章 字符串和指针

11-1 字符串和指针

11-2 通过指针操作字符串

11-3 字符串处理库函数

第12章 结构体

12-1 结构体

12-2 作为成员的结构体

第13章 文件处理

13-1 文件与流

13-2 文本和二进制

13-3 printf函数与scanf函数

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
明解C语言 第3版 入门篇》的第六章包括两个练习题,分别是练习6-3和练习6-6。练习6-3是一个计算输入数的立方的程序,代码如下: #include<stdio.h> int cube(int x) { return x*x*x; } int main(void) { int a ; printf("请输入A的值:"); scanf("%d",&a); printf("该值的立方为:%d",cube(a)); return 0; } 练习6-6是一个根据输入的n值,按照次数发出响铃的程序,代码如下: #include<stdio.h> void alert(int ch, int n) { putchar(ch); } int main(void) { int a, i; printf("请输入n值:"); scanf("%d",&a); for(i=1;i<=a;i++) { alert('\a',i); } return 0; }<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】](https://download.csdn.net/download/kxjrzyk/11049496)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [明解C语言入门篇)第六章](https://blog.csdn.net/a237664181a/article/details/89043758)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值