深圳大学计软《程序设计基础》课后实验二:选择结构

A. ASCII码排序(循环)

题目描述

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入

输入多组数据,每组占一行,有三个字符组成,之间无空格

输出

对于每组输入数据,输出一行,字符中间用一个空格分开。

输入样例1

qwe
asd
zxc

输出样例1

e q w
a d s
c x z

AC代码

#include<stdio.h>
int main()
{
    
    
	char s[3];
	char temp;
	while(scanf("%s",&s)!=EOF)
	{
    
    
	if(s[0]>s[1])
	{
    
    
		temp=s[0];
		s[0]=s[1];
		s[1]=temp;
	}
	if(s[1]>s[2])
	{
    
    
		temp=s[1];
		s[1]=s[2];
		s[2]=temp;
	}
	if(s[0]>s[1])
	{
    
    
		temp=s[0];
		s[0]=s[1];
		s[1]=temp;
	}
	printf("%c %c %c\n",s[0],s[1],s[2]);
}
	return 0;
 }

B. 求解ax2+bx+c=0

题目描述

一元二次方程ax2+bx+c=0,从键盘输入a、b、c的值后,计算并输出两个根的值,结果保留三位小数。(考虑delt>0、delt=0、delt<0三种情况)

输入

a b c

输出

x1=? x2=?

输入样例1

4 1 1

输出样例1

x1=-0.125+0.484i x2=-0.125-0.484i

AC代码

#include<stdio.h>
#include<math.h>
int main()
{
    
    
	float a,b,c;
	float delta;
	float x1,x2;
	scanf("%f%f%f",&a,&b,&c);
	delta=b*b-4*a*c;
	if(delta>0)
	{
    
    
		x1=(-b+sqrt(delta))/(2*a);
		x2=(-b-sqrt(delta))/(2*a);
		printf("x1=%.3f x2=%.3f",x1,x2);
	}
	else if(delta==0)
	{
    
    
	 	x1=(-b)/(2*a);
	 	x2=x1;
	 	printf("x1=%.3f x2=%.3f",x1,x2);
	}
	else if(delta<0)
	{
    
    
		float x,y;
		x=(-b)/(2*a);
		y=sqrt(4*a*c-b*b)/(2*a);
		printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",x,y,x,y);
	}
	return 0;
}

C. 晶晶赴约会(顺序或选择)

题目描述

晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。

输入

输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。

输出

输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都是大写字母!

输入样例1

2

输出样例1

YES

AC代码

#include<stdio.h>
int main()
{
    
    
	int a;
	scanf("%d",&a);
	if(a==1||a==3||a==5)
		printf("NO");
	else
		printf("YES");
	return 0;
}

D. 小三的幸运日(选择)

题目描述

小三非常迷信数字3,对日期也非常讲究。日期包含年月日三部分,格式为YYYY-MM-DD,如果年对月取模为3,且月对日取模为3,则该日子是幸运日,小三一定去买彩票。

例如日期2012-07-04,其中年为2012、月为7、日为4,计算得2012 mod 7 = 3 且 7 mod 4 = 3,因此该日期符合幸运日条件。

输入

输入一个日期,格式为YYYY-MM-DD

假定输入的日期始终是合法的,无须考虑日期合法性检查。

输出

YES或NO,表明该日期是否符合幸运日条件

输入样例1

2012-07-04

输出样例1

YES

AC代码

#include<stdio.h>
int main()
{
    
    
	int a,b,c;
	scanf("%d-%d-%d",&a,&b,&c);
	if((a%b==3)&&(b%c==3))
		printf("YES");
	else
		printf("NO");
	return 0;
 }

E. 判定水仙花数2(选择)

题目描述

输入整数,判定该整数是否是水仙花数。

水仙花数是一个三位正整数,数字本身等于其各位立方之和。例如:153 = 1^3+ 53+33。

输入

一个整数

输出

1表示该数字是水仙花数

0表示该数字是三正整数,但非水仙花数

ERROR表示该数字非三位数。

输入样例1

101

输出样例1

0

AC代码

#include<stdio.h>
int main()
{
    
    
	int A;
	int a,b,c;
	scanf("%d",&A);
	if(A<100||A>999)
		printf("ERROR");
	else
	{
    
    
		a=A/100;
		b=(A-a*100)/10;
		c=A%10;
		if(A==a*a*a+b*b*b+c*c*c)
			printf("1");
		else
			printf("0");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_46655675/article/details/134064560