c primer plus 7.12

该文章详细分析了C语言中处理用户输入、计数、条件判断和简单计算的代码片段,涉及字符操作、整数处理和基本算法。
摘要由CSDN通过智能技术生成

1.

int main()
{
	char a;
	int x=0, b=0, c=0;
	while ((a = getchar()) != '#')
	{
		if (a == '\n')
			x++;
		if (a == ' ')
			b++;
		else
			c++;
	}
	printf("换行有%d个\n空格有%d个\n其他字符有%d个", x, b, c);
}

2.

int main()
{
	char a;
	int i=0;
	while ((a = getchar()) != '#')
	{
		if (i == 8)
			printf("\n");
		if (a == '\n')
			continue;
		printf("%c--%d ", a, a);
		i++;
	}
}

3.

int main()
{
	int a;
	int i = 0, j = 0;
	float  sum = 0, sum2 = 0;
	while (scanf("%d", &a) == 1&a!=0)
	{
		if (a % 2 == 0)
		{
			i++;
			sum += a;
		}
		else
		{
			j++;
			sum2 += a;
		}
	}
	printf("偶数的个数为%d 偶数的平均值为%f\n奇数的个数为%d 奇数的平均值为%f\n", i,sum/i,j,sum2/j);
}

4.

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

5.

int main()
{
	char a;
	int count = 0;
	while ((a = getchar()) != '#')
	{
		switch (a)
		{
			case '.':a = '!',count++;
			case '!':a = '!!',count++;
		}
	}
	printf("%d", count);
}

6.

int main()
{
	char a;
	int count = 0,flag;
	while ((a = getchar()) != '#')
	{
		if (a == 'i' && flag == 1)
		{
			count++;
		}
		if (a == 'e')
			flag = 1;
		else
			flag = 0;
		
	}
	printf("%d", count);
}

7.

#define gongzi 10.00
int main()
{
	int hour,sum,shui;
	printf("请输入你一周工作的小时:");
	scanf("%d",&hour);
	
	if (hour > 40)
	{
		sum = 1.5*hour* gongzi;
	}
	else
	{
		sum = hour * gongzi;
	}
	if (sum > 300)
	{
		shui = sum * 0.15;
	}
	else if (sum > 150)
	{
		shui = sum * 0.2;
	}
	else
	{
		shui = sum * 0.25;
	}
	printf("工资为%d 税为%d 净收入为%d",sum,shui,sum - shui);
}

8.

#define gongzi1 8.75
#define gongzi2 9.33
#define gongzi3 10.00
#define gongzi4 11.20
void show()
{
	printf("请输入你的工资选项:\n");
	printf("(1)$8.75/hr         (2)$9.33/hr\n");
	printf("(3)$10.00/hr        (4)$11.20/hr\n");
	printf("(5)quit\n");
}
void jisuan(float hour,int a)
{
	float sum, shui, x;
	switch (a)
	{
		case 1:x = gongzi1;break;
		case 2:x = gongzi2;break;
		case 3:x = gongzi3;break;
		case 4:x = gongzi4;break;
	}
	if (hour > 40)
	{
		sum = 1.5 * hour * x;
	}
	else
	{
		sum = hour * x;
	}
	if (sum > 300)
	{
		shui = sum * 0.15;
	}
	else if (sum > 150)
	{
		shui = sum * 0.2;
	}
	else
	{
		shui = sum * 0.25;
	}
	printf("工资为%f 税为%f 净收入为%f\n", sum, shui, sum - shui);
}
int main()
{
	int a;
	float hour;
	show();
	scanf("%d", &a);
	while (a != 5)
	{
		printf("请输入你的工作时间:");
		scanf("%f", &hour);
		jisuan(hour, a);
		show();
		scanf("%d", &a);
	}
}

9.

int main()
{
	int a,i,j;
	printf("请输入数");
	scanf("%d", &a);
	if (a > 0)
	{
		for (i = 2; i <= a; i++)
		{
			for ( j = 2; j < i; j++)
			{
				if (i % j == 0)
					break;
			}
			if (j == i)
				printf("%d\n", i);
		}
	}
}

10.

void show()
{
	printf("1.单身         2.户主\n");
	printf("3.已婚,共有   4.已婚,离异  5.quit\n");
}
int main()
{
	int a;
	float b,sum;
	show();
	printf("请输入选项:");
	scanf("%d", &a);
	while (a != 5)
	{
		printf("你的工资为多少美元:");
		scanf("%f", &b);
		switch (a)
		{
			case 1:
				if (b > 17850)
				{
					sum = (b-17850)*0.28+17850*0.15;
				}
				else {
					sum = b * 0.15;
				}
				break;
			case 2:
				if (b > 23900)
				{
					sum = (b - 23900) * 0.28 + 23900 * 0.15;
				}
				else {
					sum = b * 0.15;
				}
				break;
			case 3:
				if (b > 29750)
				{
					sum = (b - 29750) * 0.28 + 29750 * 0.15;
				}
				else {
					sum = b * 0.15;
				}
				break;
			case 4:
				if (b > 14875)
				{
					sum = (b - 14875) * 0.28 + 17850 * 0.15;
				}
				else {
					sum = b * 0.15;
				}
				break;
		}
		printf("你的税金为:%f\n", sum);
		show();
		printf("请输入选项:");
		scanf("%d", &a);
	}
}

11.

void show()
{
	printf("1.洋蓟     2.甜菜\n");
	printf("3.胡萝卜   4.退出\n");
}
void jisuan(float b,int a) 
{
	float x;
	float sum = 0,sum1=0,youhui=0,yunfei;
	switch (a)
	{
		case 1:
			x = a1;
			break;
		case 2:
			x = a2;
			break;
		case 3:
			x = a3;
			break;
	}
	sum = x * b;
	if (sum >= 100)
	{
		youhui = sum * 0.05;
	}
	sum1 = sum - youhui;
	if (b <= 5)
	{
		yunfei = 6.5;
	}
	else if (b <= 20)
	{
		yunfei = 14;
	}
	else
	{
		yunfei = (b - 20) * 0.5 + 14;
	}
	printf("物品售价为%f\n订购的重量为%f\n订购的蔬菜费用为%f\n订单的总费用为%f\n折扣为%f\n运费和包装费为%f\n所有费用总额为%f\n",x,b,sum,sum1,youhui,yunfei,sum1+yunfei);
	
}
int main()
{
	int a;
	float b,sum1=0,sum2=0,sum3=0;
	show();
	printf("请输入你要购买的选项:");
	scanf("%d", &a);
	while(a!=4)
	{
		switch (a!=4)
		{
		case 1:
				printf("请输入蔬菜的磅数:");
				scanf("%f", &b);
				sum1 += b;
				jisuan(sum1, a);
				break;
			case 2:
				printf("请输入甜菜的磅数:");
				scanf("%f", &b);
				sum2 += b;
				jisuan(sum2, a);
				break;
			case 3:
				printf("请输入胡萝卜的磅数:");
				scanf("%f", &b);
				sum3 += b;
				jisuan(sum3, a);
				break;
			default:break;
		}
	}
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值