《明解C语言》while语句答案

代码清单4-5 

//输入一个整数,显示出从他开始递减到0,显示出所有数
#include<stdio.h>
int main(void)
{
	int no;
	printf("请输入一个数:");
	scanf_s("%d", &no);

	while (no >= 0)
	{
		printf("%d\n",no);
		no--;
	}
	printf("\n");
	return 0;
}

代码清单4-6 

//编写一段程序,显示出小于输入值的所有正偶数
#include<stdio.h>
int main(void)
{
	int no;
	int n=0;

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

	while (no > n)
	{
		//int n;
		n = n+2;
		printf("%d\n", n);

	}
	return 0;
	
}

代码清单4-7

//编写一段程序,显示出小于输入整数的所有2的乘方
#include<stdio.h>
#include<math.h>
int main(void)
{
	int i = 1;
	int n;

	printf("请输入整数:");
	scanf_s("%d", &n);

	while (n > pow(2, i))
	{
		
		printf("%.f\n", pow(2, i));
		i++;
	}
	return 0;
}

 代码清单4-7

//输入一个整数后,并排连续显示出该整数个*
#include<stdio.h>
int main(void)
{
	int no;
	printf("请输入正整数:");
	scanf_s("%d", &no);

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

	return 0;
}

 代码清单4-8

//输入规定个数个整数,并显示出他们的合计值和平均值。
#include<stdio.h>
int main(void)
{
	int i = 0;
	int num, tmp, sum=0;

	printf("请输入个数:");
	scanf_s("%d", &num);
	while (i < num)
	{
		printf("NO%d:", ++i);
		scanf_s("%d", &tmp);
		sum = sum + tmp;
	}
	printf("合计值:%d\n", sum);
	printf("平均值:%d", sum / num);

}

 代码清单4-9

//编写一段程序,使之像右边这样连续显示*,总个数等于所输入的整数值。
#include<stdio.h>
int main(void)
{
	int no;
	int i = 1;
	printf("请输入整数:");
	scanf_s("%d",&no);

	while (i++ <= no)
	{
		putchar('*');
		putchar('\n');
	}
	if (no < 0)
	{
		putchar("");
	}
	return 0;
}

  代码清单4-10

//编写一段程序,输入一个正整数,逆向显示。
#include<stdio.h>
int main(void)
{
	int no;
	do {
		printf("请输入一个正整数");
		scanf_s("%d", &no);

		if (no <= 0)
		{
			printf("输入的非正整数,请重新输入");
		}
	} while (no<=0);
	printf("%d的逆向数字是:",no);
	while (no > 0)
	{
		printf("%d", no % 10);
		no /= 10;
	}
	return 0;
}

   代码清单4-11

//编写一段程序,使之像右边这样连续显示+-,总个数等于所输入的整数值。
#include<stdio.h>
int main(void)
{
	int no;
	int i = 1;
	printf("请输入整数:");
	scanf_s("%d", &no);

	while (i <= no)
	{
		if (i % 2 != 0)
		{
			putchar('+');
			i++;
		}
		else
		{
			putchar('-');
			i++;
		}
	}
	return 0;
}

    代码清单4-11

//编写一段程序,输入一个正整数,显示位数。
#include<stdio.h>
int main()
{
	int i;
	int b = 0;
	printf("请输入一个正整数:");
	scanf_s("%d",&i);
	printf("%d的位数是", i);
	while (i)
	{
		i /= 10;
		b++;

	}
	printf("%d位数",  b);

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值