C Primer Plus 第五版第七章代码

1

#include<stdio.h>

int main(void)
{
	char ch;
	int space,enter,num;
	space=0;
	enter=0;
	num=0;
	printf("请输入一些字符,以#结束:\n");
	while((ch=getchar())!='#'){
	switch(ch){
	case ' ':space++;
		break;
	case '\n':enter++;
		break;
	default:num++;
	}
		}
	printf("空格有%d个,换行符有%d个,其他字符数目有%d个。\n",space,enter,num);
}

2

#include<stdio.h>

int main(void)
{int count=0;
	char ch;
	printf("请输入一些字符,输入#结束:");
	ch=getchar();

	while(ch!='#'){
	count++;
	printf("%10c%10d",ch,ch);

if(count%8==0)
	printf("\n");
	ch=getchar();
    }
}

3

#include<stdio.h>

int main(void)
{

	int odd_num=0;//奇数个数
	int odd_sum=0;//奇数总和
	int even_num=0;//偶数个数
	int even_sum=0;//偶数总和
	int number;
printf("请输入一些整数,以0为结束:\n");
while(scanf("%d",&number)){
	if (number==0)
		break;
	if( number%2==0)
	{even_num++;
	even_sum+=number;
	}
	else{
	odd_num++;
	odd_sum+=number;
	}
	
	}
printf("\n输入的偶数总个数为%d,偶数的平均值为%d,奇数总个数为%d,奇数的平均值为%d。",even_num,even_sum/even_num,odd_num,odd_sum/odd_num);
}

在这里插入图片描述

4

if(逻辑条件1){ 
    //满足逻辑条件1执行的代码 
}else if(逻辑条件2){ 
    //隐藏条件(不满足条件1) 满足逻辑条件2执行的代码 
}else if(逻辑条件3){ 
    //隐藏条件(不满足条件1、2) 满足逻辑条件3执行的代码 
}else{ 
    //不满足以上所有逻辑条件执行的代码 
}
#include<stdio.h>

int main(void)
{
	char ch[100];
	int i=0,count=0;
	char letter;

	printf("请输入字符,以#结束:");
	
	while((letter=getchar())!='#'){
			if(letter=='.'){
				count++;
				ch[i]='!';
				i++;
				
			}
			else if(letter=='!'){
				count++;
				ch[i]='!';
				ch[i+1]='!';
				i+=2;
				
			}
		
		    else 
			ch[i]=letter;
			i++;

	}
		ch[i]='\0';
		printf("代替后的字符为:%s",ch);
		printf("\n做了%d次替代。",count);
}

5

#include<stdio.h>

int main(void)
{
	char ch[100];
	int i=0,count=0;
	char letter;

	printf("请输入字符,以#结束:");
	
	while((letter=getchar())!='#'){
		switch(letter){	
		case '.':
			{count++;
				ch[i]='!';
				i++;
				break;
			}
		case '!':
			{
				count++;
				ch[i]='!';
				ch[i+1]='!';
				i+=2;
				break;
			}
		default:
			{ 
			ch[i]=letter;
			i++;
			}
		}
	}
		ch[i]='\0';
		printf("代替后的字符为:%s",ch);
		printf("\n做了%d次替代。",count);
}

6

#include<stdio.h>

int main(void)
{
	char ch[40];
	int i=0;
	int count=0;
	printf("请输入一串字符:(以#结束)\n");
	
	while((ch[i]=getchar())!='#')
		{		
		if(i>0){
			if(ch[i-1]=='e'&&ch[i]=='i')
	 		count++;
			}
		i++;
		}
	printf("\n序列ei出现的次数为:%d",count);
}

7

#include<stdio.h>
#define HOURWAGE 10
#define OVERTIME 40
#define RATE 1.5
#define FIRST 300
#define SECOND 450
#define TAXRATE1 0.15
#define TAXRATE2 0.2
#define TAXRATE3 0.25

int main(void)
{
	int hour;
	float salary,tax;
	printf("请输入一周的工作小时数:");
	scanf("%d",&hour);
	if(hour<=OVERTIME){
	salary=hour*HOURWAGE;
	}
	else{
	salary=OVERTIME*HOURWAGE+(hour-OVERTIME)*RATE*HOURWAGE;
	}
	
	if(salary<FIRST)
	{
	tax=salary*TAXRATE1;
	}
	else if(salary<SECOND){
	tax=FIRST*TAXRATE1+(salary-FIRST)*TAXRATE2;
	}
	else
		tax=FIRST*TAXRATE1+(SECOND-FIRST)*TAXRATE2+(salary-SECOND)*TAXRATE3;

	
	printf("\n您的工资总额为%.2f,税金为%.2f,净工资为%.2f。",salary,tax,salary-tax);
}

8

#include<stdio.h>

#define OVERTIME 40
#define RATE 1.5
#define FIRST 300
#define SECOND 450
#define TAXRATE1 0.15
#define TAXRATE2 0.2
#define TAXRATE3 0.25

int main(void)
{
	int hour,level;
	double salary,tax;
	double HOURWAGE;

	printf("Enter tne number corresponding to the desired pay rate or action:\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");
	scanf_s("%d",&level);
	while(level!=5){
	switch(level){
		case 1:
			HOURWAGE=8.75;
			break;
		case 2:
			HOURWAGE=9.33;
			break;
		case 3:
			HOURWAGE=10;
			break;
		case 4:
			HOURWAGE=11.2;
			break;		
		default:
			printf("请输入1—4数字,以5结束!\n");
			break;
	}

	printf("请输入您的工作小时数:");
	scanf_s("%d",&hour);
	if(hour<=OVERTIME){
	salary=hour*HOURWAGE;
	}
	else{
	salary=OVERTIME*HOURWAGE+(hour-OVERTIME)*RATE*HOURWAGE;
	}
	
	if(salary<FIRST)
	{
	tax=salary*TAXRATE1;
	}
	else if(salary<SECOND){
	tax=FIRST*TAXRATE1+(salary-FIRST)*TAXRATE2;
	}
	else
		tax=FIRST*TAXRATE1+(SECOND-FIRST)*TAXRATE2+(salary-SECOND)*TAXRATE3;

	
	printf("\n您的工资总额为%.2lf,税金为%.2lf,净工资为%.2lf。\n",salary,tax,salary-tax);

	printf("Enter tne number corresponding to the desired pay rate or action:\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");
	scanf_s("%d",&level);
	}
}

9

#include<stdio.h>


int main(void)
{
	int num,i,j;
	int count;
	printf("请输入一个数字:\n");
	scanf("%d",&num);
	
	while(num<=1){
		printf("输入无效,请重新输入:\n");
		scanf("%d",&num);
		}
	printf("所有小于或等于该数的素数有:\n");
	
	for(i=2;i<=num;i++){
		count=0;
		for(j=1;j<=i;j++){
		if(i%j==0)
			count++;
		}
		if(count<=2)
			printf("%4d",i);
	}
	
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值