c primer plus 8.11

1.

int main()
{
	char a;
	int count=0;
	while ((a = getchar()) != EOF)
	{
		count++;
	}
	printf("%d", count);
}

2.

int main()
{
	int a;
	while ((a = getchar()) != EOF)
	{
		if (a == '\n')
		{
			printf("\\n--%d\n",a,a);
		}
		if (a == '\t')
		{
			printf("\\t--%d", a, a);
		}
		if (a >= 32)
		{
			printf("%c---%d\n", a, a);
		}
		else if(1>=a>=26){
			printf("\'%c\'---^%c\n", a, a + 64);
		}
	}
}

3.

int main()
{
	char a;
	int count = 0,count1=0;
	while ((a = getchar()) != EOF)
	{
		if (a>='A' && a <= 'Z')
		{
			count++;
		}
		if (a>='a'&&a<='z')
		{
			count1++;
		}
	}
	printf("大写字母为%d\n小写为%d\n", count, count1);
}

4.

int main()
{
	char a;
	int count = 0,count1=0,sum=0;
	while ((a = getchar()) != EOF)
	{
		if (a == ' ')
		{
			count++;//单词数量
			sum+= count1;//单词字数总数
			continue;
		}
		count1++;//单词字数
	}
	printf("平均每个单词的字母数为%d",sum/count);
}

5.

int main()
{
	int a = 0;
	int b,c;
	printf("你要猜到哪个范围:\n");
	scanf("%d", &b);
	getchar();
	char x;
	c = (a + b) / 2;
	printf("我猜是%d\n", c);
	while ((x=getchar())!= 'a')
	{
		while (getchar() != '\n')
			continue;
		if (x == 'd')
		{
			b = c;
			c = (a + c) / 2;
		}
		else if (x == 'x')
		{
			a = c;
			c = (b + c) / 2;
		}
		else {
			printf("请重新输入\n");
			continue;
		}
		printf("我猜是%d\n", c);
	}
}

 6.

char get_first()
{
	char a;
	while ((a = getchar()))
	{
		if (a == '\n' || a == '\t' || a == ' ')
			return a;
	}

}
int main()
{
	char a;
	a = get_first();
	printf("%d", a);
}

7.

void show()
{
	printf("a.加法    b.减法\n");
	printf("c.乘法    d.除法   q.quit\n");
}
int main()
{
	char a;
	float b, c;
	int x = 0,flag=0;
	show();
	printf("请输入你要选择的算术:");
	scanf("%c", &a);
	while (a != 'q')
	{
		
		printf("请输入第一个数字:\n");
		while (scanf("%f", &b) != 1)
		{
			printf("你输入有误,请重新输入:\n");
			while (getchar() != '\n')
				continue;
		}
		printf("请输入第二个数字:\n");
		while(scanf("%f",&c)!=1)
		{
			printf("你输入有误,请重新输入:\n");
			while (getchar() != '\n')
				continue;
		}
		while (a == 'd' && c == 0)
		{
			printf("0不能用作被除数,请重新输入:\n");
			while (scanf("%f", &c) != 1)
			{
				printf("你输入有误,请重新输入:\n");
				while (getchar() != '\n')
					continue;
			}
		}
		switch (a)
		{
			case 'a':printf("%f+%f=%f\n", b, c, b + c); break;
			case 'b':printf("%f-%f=%f\n", b, c, b - c); break;
			case 'c':printf("%f*%f=%f\n", b, c, b * c); break;
			case 'd':printf("%f/%f=%f\n", b, c, b / c); break;
		}
		show();
		printf("请输入你要选择的算术:");
		getchar();//处理缓冲区换行
		scanf("%c", &a);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值