深圳大学计软《程序设计基础》实验四 选择结构

A. 算术式子判断(选择)

题目描述

用户输入一个算术运算的式子,运算包括了+、-、*、/、%,首先输出该式子,如果运算符不在这5种操作内,输出运算符错误的信息;如果式子是正确的,输出式子正确的相应信息;如果式子是错误的,输出式子错误的相应信息。例如:

输入:1+2=3

输出:1+2=3 correct

输入:2/3=8

输出:2/3=8 wrong

输入:6&7=12

输出:6&7=12 error op

输入

一个算术式子

输出

该式子以及对错信息

输入样例1

2+3=5

输出样例1

2+3=5 correct

AC代码

#include<stdio.h>
int main()
{
    
    
	int a,b,c;
	char z;
	scanf("%d%c%d=%d",&a,&z,&b,&c);
	if(z=='+')
	{
    
    
		if((a+b)==c)
			printf("%d+%d=%d correct",a,b,c);
		else
			printf("%d+%d=%d wrong",a,b,c); 
	}
	else if(z=='-')
	{
    
    
		if((a-b)==c)
			printf("%d-%d=%d correct",a,b,c);
		else
			printf("%d-%d=%d wrong",a,b,c); 
	}
	else if(z=='*')
	{
    
    
		if((a*b)==c)
			printf("%d*%d=%d correct",a,b,c);
		else
			printf("%d*%d=%d wrong",a,b,c); 
	}
	else if(z=='/')
	{
    
    
		if((a/b)==c)
			printf("%d/%d=%d correct",a,b,c);
		else
			printf("%d/%d=%d wrong",a,b,c); 
	}
	else if(z=='%')
	{
    
    
		if((a%b)==c)
			printf("%d%%d=%d correct",a,b,c);
		else
			printf("%d%%d=%d wrong",a,b,c); 
	}
	else
		printf("%d%c%d=%d error op",a,z,b,c);
	return 0;
}

B. 整除问题(选择)

题目描述

给定两个数A和B,判定以下四种情况:

  1. A能被B整除,但B不能被A整除
  2. B能被A整除,但A不能被B整除
  3. A能被B整除,且B能被A整除
  4. A不能被B整除,且B不能被A整除

输入

输入两个数A和B

扫描二维码关注公众号,回复: 17289597 查看本文章

输出

若A能被B整除,但B不能被A整除,输出1
若B能被A整除,但A不能被B整除,输出2
若A能被B整除,且B能被A整除,输出3
若A不能被B整除,且B不能被A整除,输出4

输入样例1

6 3

输出样例1

1

AC代码

#include<stdio.h>
int main()
{
    
    
	int a,b;
	scanf("%d%d",&a,&b);
	if(a%b==0&&b%a!=0)
		printf("1");
	else if(b%a==0&&a%b!=0)
		printf("2");
	else if(a%b==0&&b%a==0)
		printf("3");
	else if(a%b!=0&&b%a!=0)
		printf("4");
	return 0;
 }

C. 点和正方形的关系(选择)

题目描述

有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。

输入

输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。

输出

输出一行,如果点在正方形内,则输出yes,否则输出no。

输入样例1

1 1

输出样例1

yes

AC代码

#include<stdio.h>
int main()
{
    
    
	int x,y;
	scanf("%d%d",&x,&y);
	if((x>=-1&&x<=1)&&(y>=-1&&y<=1))
		printf("yes");
	else
		printf("no");
	return 0;
}

D. 计算两时间的差值(顺序、选择)

题目描述

给定两个时间,计算两个时间的差值。

输入

给定的第一个时间一定比第二个时间大

输出

输入样例1

12:34:55
8:12:5

输出样例1

4:22:50

AC代码

#include<stdio.h>
int main()
{
    
    
	int h1,h2,m1,m2,s1,s2;
	int second;
	int h3,m3,s3;
	scanf("%d:%d:%d",&h1,&m1,&s1);
	scanf("%d:%d:%d",&h2,&m2,&s2);
	second=(s1+m1*60+h1*3600)-(s2+m2*60+h2*3600);
	h3=second/3600;
	m3=(second-h3*3600)/60;
	s3=second-h3*3600-m3*60;
	printf("%d:%d:%d",h3,m3,s3);
	return 0;
}

猜你喜欢

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