栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言初学】编程题练习

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言初学】编程题练习

1.有1、2、3、4 四个数字,能组成多少个互不相同且无重复的三位数?都是多少 ?

 按照我的思路,我可能会正向思考先分别把1~4放在个位,然后分情况再分别往百位、十位上放不同的数。相当于我按照做数学排列组合的思维了。

比较简洁的思路如下:

        (1)把所有的数列出来

        (2)分别判断是否满足“无重复”这个条件(个位!=十位!=百位 i!=j&&i!=k&&j!=k)

        (3)同时使用计数器count,并且输出满足条件的值

#include
int main(){
	int i,j,k;//分别代表 个、十、百
	int count=0;//计数 
	for(i=1;i<5;i++){
		for(j=1;j<5;j++){
			for(k=1;k<5;k++){
				if(i!=j&&i!=k&&j!=k){
					printf("%d%d%dn",i,j,k);
					count++;
				}
				
			}
		}
	}
	printf("能组成%d个互不相同且无重复的三位数",count);
	return 0; 
} 

2.企业发放的奖金根据利润提成。利润"W"低于或等于10万元时,奖金可提10%;利润高于10万元低于20万元时,低于10万元的部分按 10%提成,高于10万元的部分,可提成7.5%;20万到 40 万之间时,高于20万元的部分,可提成 5%;40 万到 60 万之间时高于 40 万元的部分,可提成 3%;60 万到 100 万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过 100万元的部分按 1%提成,从键盘输入当月利润 W,求应发放奖金总数?

我的思路:

S1:输入 W

S2:判断W的值【if(W<=10) ...else if(10

S3:按照题目要求对输入的W分别计算各部分利润再加起来(这样计算会比较繁琐)

S3:按照数轴层次来(分为0~10,10~20,20~40,40~60,60~100,>100  六个区间)

#include//按照原来的思路,分每一次的情况计算需要重复一段,但总体思路差不多
int main(){
	double W,S;
	scanf("%lf",&W);
	if(W<=10) S=W*0.1;
	else if(10100)    S=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(W-100)*0.001;
	printf("%lf",S);
	return 0;
}

#include
int main(){
	double W,S;//W是利润,S是应发放的奖金 
	scanf("%lf",&W);
	double b1,b2,b3,b4,b5;
	b1=10*0.1;//10万的部分 
	b2=b1+10*0.075;//10万~20万 
	b3=b2+20*0.05;//20~40
	b4=b3+ 20*0.03;
	b5=b4+40*0.015;
	if(W<=10) S=W*0.1;
	else if(10100)     S=b5+(W-100)*0.01;
	printf("%lf",S);
	return 0;
} 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号