《明解C语言》第四章:程序的循环控制及课后试题代码示例

本文介绍了C语言中的do语句和while语句的使用,通过多个编程示例展示了如何用它们实现循环控制,包括判断输入整数的奇偶性、拳击游戏、计算整数和与平均值,以及正负数判断等。同时,文章还涉及了前置递增和递减运算符在循环条件中的应用。
摘要由CSDN通过智能技术生成


前言

C语言是结构化的程序设计语言,可以执行顺序结构,选择结构,循环结构等。本篇将会着重介绍C语言中提供的循环语句


提示:以下是本篇文章正文内容,下面案例可供参考

一、do语句

//输入的整数是奇数还是偶数

#include <stdio.h>

int main()
{
	int retry = 0;
	
	do
	{
		int no = 0;//仅在复合语句中使用的变量要在该复合语句中进行定义
		
		printf("请输入一个整数:");
		scanf("%d"&no);
		
		if(no % 2)
		{
			puts("这个整数是奇数。");
		}
		else
		{
			puts("这个整数是偶数。");
		}
		
		puts("要重复一次吗?【Yes...0/No...9】:");
		scanf("%d"&retry);
		
	}while(retry == 0);
	
	return 0;
}
//根据读取的整数值显示所出的拳(只接收0/1/2)

#include <stdio.h>

int main()
{
	int hand = 0;
	do
	{
		puts("请选择出什么拳【0...剪刀/1...石头/2.布】:");
		scanf("%d",&hand);
	}while(hand <0 || hand >2);
	printf("你选择了");
	switch(hand)
	{
		case 0:puts("剪刀");
		break;
		case 1:puts("石头");
		break;
		case 2:puts("布");
		break;
	}
	return 0;
}
//不停的输入整数,显示其和与平均数

#include <stdio.h>

int main()
{
	int sum = 0;//计算和的变量
	int cnt = 0;//共输入几次数值
	int retry = 0;//输入是否继续的变量存储处
	
	do
	{
		int t = 0;
		printf("请输入一个整数:");
		scanf("%d",&t);
		sum += t;//sum = sum + t;
		cnt += 1;//cnt = cnt +1;
		
		printf("是否继续?<Yes...0/No...9>:");
		scanf("%d",&retry);
	}while(retry == 0 );
	
	printf("和为%d,平均值为%.2lf\n",sum,(double)sum /cnt );
	
	return 0;
}

以下代码示例为《明解C语言》第四章练习题4-1/4-2

//4.1循环任意次判断输入值的正负

#include <stdio.h>

int main()
{
	int num = 0;
	printf("请输入一个整数:");
	scanf("%d", &num);
	do
	{
		if (num > 0)
		{
			puts("该整数为正数。");
		}
		else if (num < 0)
		{
			puts("该整数为负数。");
		}
		else
		{
			puts("该整数为0。");
		}
	} while (scanf("%d", &num) == 1);

	return 0;
}
//循环任意次判断输入值的正负

#include <stdio.h>

int main()
{
	int num = 0;
	int retry = 0;

	do
	{
		printf("请输入一个整数:");
		scanf("%d", &num);
		if (num > 0)
		{
			puts("该整数为正数。");
		}
		else if (num < 0)
		{
			puts("该整数为负数。");
		}
		else
		{
			puts("该整数为0。");
		}

		printf("是否继续判断?【1...继续判断/0...退出】");
		scanf("%d", &retry);
	} while (retry == 1);

	return 0;
}
//4.2读取两个整数后求他们之前所有整数的和

#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	puts("请输入两个整数:");
	printf("整数a:");
	scanf("%d", &a);
	printf("整数b:");
	scanf("%d", &b);

	int i = 0;
	int sum = 0;

	if (a >= b)
	{
		for (i = b; i <= a; i++)
		{
			sum += i;
		}
		printf("大于等于%d小于等于%d的所有整数的和是%d。\n", b, a, sum);
	}
	else
	{
		for (i = a; i <= b; i++)
		{
			sum += i;
		}
		printf("大于等于%d小于等于%d的所有整数的和是%d。\n", a, b, sum);
	}
	
	return 0;
}

二、while语句

//从输入的值开始倒数到0

#include <stdio.h>

int main()
{
	int no = 0;
	printf("请输入一个整数");
	scanf("%d",&no);
	while(no >= 0)
	{
		printf("%d ",no);
		no--;
	}
	printf("\n");
	
	return 0;
}
//从输入的值开始倒数到0,输入值为负数时不显示换行

#include <stdio.h>

int main()
{
	int no = 0;
	printf("请输入一个整数:");
	scanf("%d",&no);
	while(no >= 0)
	{
		printf("%d ",no);
		no--;
	}
	
	return 0;
}
// 从输入的值开始倒数到0(利用递减运算符简化)

#include <stdio.h>

int main()
{
	int no = 0;
	printf("请输入一个整数");
	scanf("%d",&no);
	while(no >= 0)
	{
		printf("%d ",no--);
	}
	printf("\n");
	
	return 0;
}

以下代码示例为《明解C语言》第四章练习题4-3

//从输入的值开始倒数到0,负数不换行
#include <stdio.h>

int main()
{
	int no = 0;
	
	printf("请输入一个整数");
	scanf("%d",&no);
	
	while(no >= 0)
	{
		printf("%d ",no--);
	}
	
	return 0;
}
//递增显示从0到输入的正整数为止的各个整数(while语句)

#include <stdio.h>

int main()
{
	int no = 0;
	int i = 0;
	
	printf("请输入一个正整数:");
	scanf("%d",&no);
	
	while(i <= no)
	{
		printf("%d ",i++);
	}
	printf("\n");
	
	return 0;
}
//递增显示从0到输入的正整数为止的各个整数(for语句)

#include <stdio.h>

int main()
{
	int no = 0;
	int i = 0;
	printf("请输入一个正整数:");
	scanf("%d",&no);
	for(i = 0;i <= no;i++)
	{
		printf("%d ",i);
	}
	printf("\n");
	
	return 0;
}

以下代码示例为《明解C语言》第四章练习题4-5/4-6/4-7

//从1开始递增并在输入负数时不换行

#include <stdio.h>

int main()
{
	int no = 0;
	int i = 1;
	
	printf("请输入一个正整数:");
	scanf("%d",&no);
	
	while(i <= no)
	{
		printf("%d ",i++);
	}
	
	return 0;
}
//升序显示出小于输入值的所有正偶数

#include <stdio.h>

int main()
{
	int no = 0;
	int i = 2;
	printf("请输入一个整数:");
	scanf("%d",&no);
	while(i <= no)
	{
		printf("%d ", i);
		i += 2;
	}
	return 0;
}
//升序显示出小于输入值的所有正偶数

#include <stdio.h>

int main(void)
{
	int no = 0;
	int i = 0;
	printf("请输入一个正整数:");
	scanf("%d", &no);
	while (i+2 <= no)
	{
		printf("%d ", i+=2);
	}
	return 0;
}
//显示出小于输入的整数的2的乘方

#include <stdio.h>

int main()
{
	int no = 0;
	int i = 1;
	printf("请输入一个整数:");
	scanf("%d",&no);
	while(i <= no)
	{
		printf("%d ", 2 * i);
		i++;
	}
	printf("\n");
	return 0;
}
//限定次数的循环操作

#include <stdio.h>

int main()
{
	int no = 0 ;
	int i = 1;
	printf("正整数:");
	scanf("%d",&no);
	while(i <= no)
	{
		printf("*",no++);
	}
	printf("\n");
	return 0;
}
//限定次数的循环操作

#include <stdio.h>

int main()
{
	int no = 0 ;
	
	printf("正整数:");
	scanf("%d",&no);
	
	while( no-- >  0)
	{
		putchar('*');
	}
	
	return 0;
}

以下代码示例为《明解C语言》第四章练习题4-8

//限定次数的循环操作

#include <stdio.h>

int main()
{
	int no = 0 ;
	
	printf("正整数:");
	scanf("%d",&no);
	
	while( no-- > 0)
	{
		putchar('*');
	}
	putchar('\n');
	
	return 0;
}

前置递增运算符和前置递减运算符

//输入规定个个数的数据并求和及其平均数

#include <stdio.h>

int main()
{
	int num = 0 ;
	int i = 0; 
	int sum = 0 ;
	int tmp = 0;
	printf("要输入多少个整数:");
	scanf("%d",&num);
	while(i < num)
	{
		printf("No.%d:", ++i);
		scanf("%d",&tmp);
		sum += tmp;
	}
	printf("合计值:%d\n",sum);
	printf("平均值:%.2lf\n",(double)sum / num);
	
	return 0;
}
//输入规定个个数的数据并求和及其平均数

#include <stdio.h>

int main()
{
	int num = 0 ;
	int i = 1; 
	int sum = 0 ;
	int tmp = 0;
	printf("要输入多少个整数:");
	scanf("%d",&num);
	while(i <= num)
	{
		printf("No.%d:",i++);
		scanf("%d",&tmp);
		sum += tmp;
	}
	printf("合计值:%d\n",sum);
	printf("平均值:%.2lf\n",(double)sum / num);
	
	return 0;
}

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mo_吉托的莫。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值