C primer plus 7.12

C primer plus 7.12

7.12.1

#include<stdio.h>
int main(void)
{
	int i=0;//空格数 
	int j=0;//换行符数
	int n=0;//其他字符数
	char ch;//用户输入 
	char space;
	
	printf("请输入一些字符:");
	printf("按“#”结束输入\n");
	
	ch=getchar();
	space=' ';
	while(ch!='#')
	{
		if(ch==space)
		{
			i++;
		}
		else if(ch=='\n')
		{
			j++;
		}
		else 
			n++;
			
	ch=getchar();		
	space=' ';		
	}	
	printf("空格数:%d",i);
	printf("换行符数:%d",j);
	printf("其他字符数:%d",n);
	
	return 0;
} 

7.12.2

#include<stdio.h>
int main(void)
{
	
	char ch;//输入字符 
	int i;//字符计数 
	
	printf("请输入若干字符,按#结束\n");
	ch=getchar();

	while(ch!='#')
	{
		for(i=0;i<8;i++)
		{
			printf("%c-%d",ch,ch);
			ch=getchar();
		}
		printf("\n");
				
	} 
	return 0;
}

7.12.3

#include<stdio.h>
int main(void)
{
	int num[200];//用户输入
	int i;//数组位置
	
	int p;//偶数个数
	int sum_p;//偶数总和
	int q;//偶数平均值
	
	int m;//奇数个数
	int sum_m;//奇数总和
	int n; // 奇数平均值 
	
	i=0;
	p=0;
	sum_p=0;
	m=0;
	sum_m=0;
	printf("请输入若干整数\n");
	scanf("%d",&num[i]);
	
	while(num[i]!=0)
	{
		if(num[i]%2==0)
		{
			p++;
			sum_p=sum_p+num[i]; 
			q=sum_p/p;
		}
		else 
		{
			m++;
			sum_m=sum_m+num[i];
			n=sum_m/m;
		}	
		i++;	
		scanf("%d",&num[i]);	
	}
	
	printf("偶数的个数为:%d\n",p);
	printf("偶数的平均值为:%d\n",q);
	printf("奇数的个数为:%d\n",m);
	printf("奇数的平均值为:%d\n",n);

	return 0;
} 

7.12.4

#include<stdio.h>
int main(void)
{
	
	int i;//替换计数
	char ch; //用户输入 
	
	printf("请输入若干字符,按“#”停止\n");
	ch=getchar();
	i=0;
	while(ch!='#')
	{
		if(ch=='.')
		{
			ch='!';
			i++;
		}else if(ch='!')
		{
			ch='!!';
			i++;
		}
		ch=getchar();
	}
	printf("程序进行了%d次替换",i);	
	
	return 0;
}

7.12.5

#include<stdio.h>
int main(void)
{
	
	int i;//替换计数
	char ch; //用户输入 
	
	printf("请输入若干字符,按“#”停止\n");
	ch=getchar();
	i=0;
	while(ch!='#')
	{
		switch(ch) 
		{
			case '.':
				ch='!';
				i++;
				break;
			case '!':
				ch='!!';
				i++;
				break;
		}
		ch=getchar();
	}
	printf("程序进行了%d次替换",i);	
	
	return 0;
}

7.12.6

#include<stdio.h>
int main(void)
{
	char ch;//用户输入
	char ar;//用户输入
	int n;//计数器
	
	printf("请输入若干字符,按“#”停止输入\n");
	ch=getchar();
	n=0;
	while(ch!='#')
	{
		
		if(ch=='e')
		{
			ar=getchar();
			if(ar=='i')
			{
				n++;
			} 
		}
			
		ch=getchar();	
	}	
	printf("“ei”出现了%d次",n);
	return 0;
} 

7.12.7

#include<stdio.h>
#define a 10.00
#define b 1.5*10.00
#define c1 0.15
#define c2 0.2
#define c3 0.25
int main(void)
{
	float hour;//用户输入值
	float total_wage;//小时数
	float taxes;//税金
	float net_income;//净收入
	printf("请输入您一周工作的小时数:\n"); 
	scanf("%f",&hour);
	
	if(hour<40)
	{
		total_wage=hour*a;
	}
	else
	{
		total_wage=40*a+(hour-40)*b;
	}	
		
	if(total_wage<=300)
	{
		taxes=total_wage*c1;
	}
	else if(total_wage<=450)
	{
		taxes=300*c1+(total_wage-300)*c2;
	}
	else
	{
		taxes=300*c1+150*c2+(total_wage-450)*c3;
	}
	
	net_income=total_wage-taxes; 
	 
	printf("工资总额:%f\n",total_wage);
	printf("税金:%f\n",taxes);
	printf("净收入:%f\n",net_income);
	
	return 0;
} 

7.12.8

#include<stdio.h>
#define A 8.75//薪资等级1
#define B 9.33//薪资等级2 
#define C 10.00//薪资等级3 
#define D 11.20//薪资等级4 

#define b 1.5
#define c1 0.15
#define c2 0.2
#define c3 0.25
int main(void)
{
	int n;//用户选择12345
	float level;//薪资等级 
	float hour;//用户输入值,小时数
	float total_wage;//工资总额
	float taxes;//税金
	float net_income;//小时数
		
	printf("****************************************************************\n");
	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");
	printf("****************************************************************\n");
	scanf("%d",&n);	
	while(n!=5)
	{
		switch(n)
		{
			case 1:
				level=A;
				break;
			case 2:
				level=B;
				break;
			case 3:
				level=C;
				break;
			case 4:
				level=D;
				break;		
		}
		
		printf("请输入您一周工作的小时数:"); 
		scanf("%f",&hour);
		if(hour<40)
		{
			total_wage=hour*level;
		}
		else
		{
			total_wage=40*level+(hour-40)*b*level;
		}	
			
		if(total_wage<=300)
		{
			taxes=total_wage*c1;
		}
		else if(total_wage<=450)
		{
			taxes=300*c1+(total_wage-300)*c2;
		}
		else
		{
			taxes=300*c1+150*c2+(total_wage-450)*c3;
		}
		
		net_income=total_wage-taxes; 
		 
		printf("工资总额:%f\n",total_wage);
		printf("税金:%f\n",taxes);
		printf("净收入:%f\n\n\n",net_income);	
		
		printf("****************************************************************\n");
		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");
		printf("****************************************************************\n");
		scanf("%d",&n);	
				
	}					
	return 0;
}

7.12.9

#include<stdio.h>
int main(void)
{
	unsigned int n;//用户输入 
	int i;//递增被除数
	int j;//递增除数
	int k;//余数
	int p;//标记,素数判断 
	
	printf("请输入一个正整数:\n"); 
	while(scanf("%u",&n)==1)
	{
		for(i=2;i<=n;i++)
		{
			p=1;
			for(j=2;j*j<=i;j++)
			{
				k=i%j;
				if(k==0)
				{
					p=0;
					
				}
			}		
			
			if(p==1)
			{
				printf("%d  ",i);
			}
			
		}
		
		printf("\n"); 
		printf("请输入一个正整数\n"); 
	}	
	return 0;
}

7.12.10

#include<stdio.h>
int main(void)
{
	int m=0;//用户选择等级 
	float n=0;//用户应纳税收入 
	int i=0;//基础缴纳税金 
	float j=0;//税金 
	
	printf("|**********|******************类别******************|******************税金******************|\n");
	printf("|    1)    |                  单身                  |     17850美元按15%计,超出部分按28%计    |\n");
	printf("|    2)    |                  户主                  |     23900美元按15%计,超出部分按28%计    |\n");
	printf("|    3)    |               已婚,共有               |     29750美元按15%计,超出部分按28%计    |\n");
	printf("|    4)    |               已婚,离弃               |     14875美元按15%计,超出部分按28%计    |\n");	
	printf("|**********|****************************************|****************************************|\n");
	printf("|                                                按0退出                                     |\n");
	
	printf("请选择您的缴纳税金的种类:\n");
	scanf("%d",&m); 
	printf("请输入您的应纳税收入:\n");
	scanf("%f",&n);
	while(m!=0)
	{
		switch(m)
		{
			case 1:
				i=17850;
				break;
			case 2:
				i=23900;
				break;
			case 3:
				i=29750;
				break;
			case 4:
				i=14875;
				break;		
		}
		
		if(n<=i)
		{
			j=n*0.15;
		}
		else
		{
			j=i*0.15+(n-i)*0.28;
		}
		printf("您应缴纳的税金为:%f\n",j);
		
		printf("|**********|******************类别******************|******************税金******************|\n");
		printf("|    1)    |                  单身                  |     17850美元按15%计,超出部分按28%计    |\n");
		printf("|    2)    |                  户主                  |     23900美元按15%计,超出部分按28%计    |\n");
		printf("|    3)    |               已婚,共有               |     29750美元按15%计,超出部分按28%计    |\n");
		printf("|    4)    |               已婚,离弃               |     14875美元按15%计,超出部分按28%计    |\n");	
		printf("|**********|****************************************|****************************************|\n");
		printf("|                                                按0退出                                     |\n");
		
		printf("请选择您的缴纳税金的种类:\n");
		scanf("%d",&m); 
		printf("请输入您的应纳税收入:\n");
		scanf("%f",&n);					
	}

	return 0;
} 

7.12.11

#include<stdio.h>
int main(void)
{
	char ch;//用户选择abc
	float m;//用户输入重量
	float A=0;//洋蓟总重量
	float B=0;//甜菜总重量
	float C=0;//胡萝卜总重量
	
	float sum_money;//货物总价
	float discount;//折扣
	float real_sum_money;//折扣后价格 
	float sum_ABC;//所有蔬菜总重量
	float freight;//运费和包装费
	float sums;//所有费用总额
	printf("|********************************************************************************************|\n");
	printf("|**********|*                 种类                 *|*                 价格                 *|\n");
	printf("|*    a   *|                  洋蓟                  |                $2.05/磅                |\n");
	printf("|*    b   *|                  甜菜                  |                $1.15/磅                |\n");
	printf("|*    c   *|                  胡萝卜                |                $1.09/磅                |\n");	
	printf("|**********|****************************************|****************************************|\n");
	printf("|                          按p结束购买                                按q退出                |\n");
	printf("|********************************************************************************************|\n");
	
	printf("现在请您开始购买");
	printf("请选择您要购买的品种\n");	
	scanf("%c",&ch);
	getchar();
	if(ch=='q')
	{
		return 0;
	}
	while(ch!='p') 
	{
		printf("请输入您要购买的数量\n");
		scanf("%f",&m);
		getchar();
		switch(ch)
		{
			case 'a':
				A=A+m;
				break;
			case 'b':
				B=B+m;
				break;
			case 'c':
				C=C+m;
				break;
		}	
		printf("请选择您要购买的品种\n");	
		scanf("%c",&ch);
		getchar();	
		if(ch=='q')
		{
		return 0;
		}	
	}
	printf("您已购买结束"!\n");
	sum_money=A*2.05+B*1.15+C*1.09; 
	if(sum_money<100)
	{
		discount=0;
		real_sum_money=sum_money; 
	}
	else
	{
		discount=sum_money*0.15;
		real_sum_money=sum_money*(1-0.15);
	}
	
	sum_ABC=A+B+C;
	if(sum_ABC<=5)
	{
		freight=6.5; 
	}else if(sum_ABC<=20)
	{
		freight=14;
	}
	else
	{
		freight=14+(sum_ABC-14)*0.5;
	}
	
	sums=real_sum_money+freight;
	
	printf("|**************|****************|****************|****************|\n");
	printf("|**************|*   物品售价   *|*   订购重量   *|*   蔬菜费用   *|\n");
	printf("|*    洋蓟    *|    $2.05/磅    |   % 8.2f     |   % 8.2f     |\n",A,A*2.05);
	printf("|*    甜菜    *|    $1.15/磅    |   % 8.2f     |   % 8.2f     |\n",B,B*1.15);
	printf("|*   胡萝卜   *|    $1.09/磅    |   % 8.2f     |   % 8.2f     |\n",C,C*1.09);
	printf("|**************|****************|****************|****************|\n");
	printf("|*  订单费用  *|****************|****************|   % 8.2f     |\n",sum_money);
	printf("|*    折扣    *|****************|****************|   % 8.2f     |\n",discount);
	printf("|*运费和包装费*|****************|****************|   % 8.2f     |\n",freight);
	printf("|*   总费用   *|****************|****************|   % 8.2f     |\n",sums);
	printf("|**************|****************|****************|****************|\n");
	return 0;
} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值