C Primer Plus 第六版 第七章 编程练习

本文提供了几个使用C语言编写的程序示例,包括统计输入字符中奇数和偶数的数量及总和、替换指定字符并计数,以及计算员工周薪、税收和个人净收入等。这些示例有助于理解C语言的基本语法和控制结构。

7.3

#include <stdio.h>
#define stop '0'
int main(){
	int num;
	char ch;
	int s_n=0,d_n=0,stotal=0,dtotal=0; //s_n d_n 奇数 偶数个数,stotal dtotal 奇数 偶数总和
	while((ch = getchar()) != stop){
		num = (int)ch - 48;
		if (num>0 && num <=9 ){(num%2)?(stotal += num,s_n++):(dtotal += num,d_n++);} 			
	}
	printf("%d %d %d %d ",s_n,d_n,stotal/s_n ,dtotal/d_n );
	return 0;
}

7.4

#include<stdio.h>
#define stop '#'
int main(){
	int n = 0;
	char ch;
	printf("输入 #退出\n"); 
	while((ch = getchar()) != stop){
		if (ch =='.'){
			putchar('!');
			n++;
		}
		else if (ch == '!'){
			printf("!!");
			n++;
		}
		else {
			putchar(ch); 
		}
	}
	printf("\n替换次数=%d",n); 
	return 0;
}

7.5

#include<stdio.h>
#define stop '#'
int main(){
	int n = 0;
	char ch;
	printf("输入 #退出\n"); 
	while((ch = getchar()) != stop){
		switch(ch){
			case '.':
				putchar('!');
				n++;
				break;
			case '!':
				printf("!!");
				n++;
				break;
			default :
				putchar(ch);
		}
	}
	printf("\n替换次数=%d",n); 
	return 0;

7.7

#include <stdio.h>
#define t_p 1000
int main(){
	double hour,salary,envy,total; 
	printf("输入一周工作的小时数\n");
	scanf("%lf",&hour);
	(hour <= 40.0)? salary = hour * t_p : salary= 40*t_p+(hour-40)*1.5*t_p;
	if(salary <= 300 ) envy = 0.15*salary;
	else if(salary >300 &&salary <= 450 ) envy = 0.15*300+0.20*(salary-300);
	else envy = 0.15*300+0.20*(450-300)+0.25*(salary-450);
	printf("工资总额=%.2f,税金=%.2f,净收入=%.2f",salary,envy,salary-envy);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值