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

C语言经典100题(1~5)

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

C语言经典100题(1~5)

一、第1题

1、题目

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

2、代码

 

# include  
void main()
{
	int i,j,k,a[100];
	int n = 0;
	
	for(i=1; i<=4; i++)
		for(j=1; j<=4; j++)
			for(k=1; k<=4; k++)
				if(i!=j && i!=k && j!=k)	//确保组成数字不重复 
				{
					a[n] = i * 100 + j * 10 + k;
					n++;
				}
				
	printf("能组成%d个无重复数字的三位数n",n);
	printf("分别是:n");
	
	for(i=0; i 

3、运行结果

二、第2题

1、题目

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

2、代码



# include 

void main()
{
	double i;
	double bonus;
	printf("请输入当月利润(万元): i = ");
	scanf("%lf",&i);	//double的格式为 %lf,float的格式为 %f
	
	if(i <= 10)
	{
		bonus = i * 0.1;
	}
	else if(i > 10 && i <= 20)
	{
		bonus = 10 * 0.1 + (i - 10) * 0.075;
	}
	else if(i > 20 && i <= 40)
	{
		bonus = 10 * 0.1 + (20 - 10) * 0.075 + (i - 20) * 0.05;
	}
	else if(i > 40 && i <= 60)
	{
		bonus = 10 * 0.1 + (20 - 10) * 0.075 + (40 - 20) * 0.05 + (i - 40) * 0.03;
	}
	else if(i > 60 && i <= 100)
	{
		bonus = 10 * 0.1 + (20 - 10) * 0.075 + (40 - 20) * 0.05 + (60 - 40) * 0.03 + (i - 60) * 0.015;
	}
	else
	{
		bonus = 10 * 0.1 + (20 - 10) * 0.075 + (40 - 20) * 0.05 + (60 - 40) * 0.03 + (100 - 60) * 0.015 + (i - 100) * 0.01;
	}
	
	printf("当月利润为i = %lf(万元)n",i);
	printf("应发奖金总数为%lf万元n",bonus);
}

3、运行结果

三、第3题

1、题目

        一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

2、代码

 


# include 

void main()
{
	int i,j,k;
	for(i=0; i<10000; i++)
	{
		for(j=0; j<100; j++)
		{
			for(k=0; k<100; k++)
			{
				if (i + 100 == j * j && i + 168 == k * k)
					{
						printf("一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,这个整数是%dn",i);
					}
			}	
		}
	}
}

3、运行结果

四、第4题

1、题目

        输入某年某月某日,判断这一天是这一年的第几天?

2、代码


 

# include 

void main()
{
	//指引用户输入日期 
	int year,mon,day,num;
	printf("请输入年:");
	scanf("%d",&year); 
	printf("请输入月:");
	scanf("%d",&mon); 
	printf("请输入日:");
	scanf("%d",&day); 
	
	//计算除去当月有多少天 
	switch(mon)	
	{
		case 1:num = 0;
			break;
		case 2:num = 31;
			break;
		case 3:num = 31 + 28;
			break;
		case 4:num = 31 + 28 + 31;
			break;
		case 5:num = 31 + 28 + 31 + 30;
			break;
		case 6:num = 31 + 28 + 31 + 30 + 31;
			break;
		case 7:num = 31 + 28 + 31 + 30 + 31 + 30;
			break;
		case 8:num = 31 + 28 + 31 + 30 + 31 + 30 + 31;
			break;
		case 9:num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31;
			break;
		case 10:num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30;
			break;
		case 11:num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
			break;
		case 12:num = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
			break;
		default:;
	}
	
	//计算特殊年份,闰年的2月份 
	num = num + day;
	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
		{
			if (mon > 2)
			{
				num++;
			}
		}
	
	//输出结果 
	printf ("%d年%d月%d日是这一年的第%d天n",year,mon,day,num);	
}

3、运行结果

五、第5题

1、题目

        输入三个整数x、y、z,请把这三个数由小到大输出。

2、代码

 

 

# include  

//构造由小到大排列函数 
int shunxu_pailei(int *a,int *b)
{
	int t;
	if (*a > *b)
	{
		t = *a;
		*a = *b;
		*b = t;
	}
	else 
	{
		*a = *a;
		*b = *b;
	}
	return 0;
}

void main ()
{
	int x,y,z;
	printf("请输入三个整数(用空格相隔,如 1 2 3 ):");
	scanf("%d %d %d",&x,&y,&z); 
	
	//调用函数,实现功能 
	shunxu_pailei(&x,&y);
	shunxu_pailei(&x,&z);
	shunxu_pailei(&y,&z);
	
	//输出结果 
	printf("这三个数由小到大输出为%d % d % dn",x,y,z); 
}

3、运行结果

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

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

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