第三单元分支结构

第三单元分支结构

持续更新:

3-1

数据少,例举仅有的情况然后交换。。。

#include<stdio.h>
int main()
{
	int a, b, c;
	int tem1 = 0, tem2 = 0, tem3 = 0;
	printf("请输入三个数 : ");
	scanf("%d%d%d",&a,&b,&c);
	if(a<b&&a<c)
	{
		 if(b>c)
		{
			tem1	=	b;
			b	=	c;
			c	=	tem1;	
		} 
		printf("这三个数从小到大的顺序是:%d %d %d \n", a, b, c);
	} 
	if(b<a&&b<c)
	{
		 if(a>c)
		{
			tem3	=	a;
			a	=	c;
			c	=	tem3;	
		} 
		printf("这三个数从小到大的顺序是:%d %d %d \n", b, a, c);
	} 
	if(c<a&&c<b)
	{
		 if(a>b)
		{
			tem2	=	a;
			a	=	b;
			b	=	tem2;	
		} 
		printf("这三个数从小到大的顺序是:%d %d %d \n", c, a, b);
	} 
	return 0;
}

可以用c++中的stl函数,和数组加上大一下学期学的数据结构中的排序算法搞,这是通法;

#include<iostream>
#include<algorithm>// 这个库函数里面有排序函数 
using namespace std;
int main()
{
	int a[124];
	for(int i = 0;i < 3;i++)
	{
		cin >> a[i];
	} 
	sort(a , a+3);//排序函数 
	for(int i = 0;i < 3;i++)
	{
		cout << a[i] <<"  ";
	}
	cout<<endl;
	return 0;
	
 } 

3-2

通过能不能被2整除判断是否为奇偶数

#include<stdio.h>
int main()
{
	int n;
	printf("输入一个数为: ");
	scanf("%d", &n);
	if(n%2==0)//看能不能被2整除来判断是否为奇偶数;
		printf("偶数\n") ;
	else
		printf("奇数\n") ;
	return 0;
 } 

3-3

掌握如何求一个整数的个位,十位,百位啥的

#include<stdio.h>
int main()
{
	int a,b,c,x;
	scanf("%d",&x);
	a=x%10;//取出个位
	b=x/10%10;//取出十位
	c=x/100;//取出百位
	if(a*a*a+b*b*b+c*c*c==x)
		printf("yes\n");
	else
		printf("no\n");	
	return 0;
}

3-4

这题用后面的知识才能真正解决,通过两个短边之和大于第三个长边边来判断

#include<bits/stdc++.h>//万能头件
using namespace std;
int main()
{
    double a[3];
    cin>>a[0]>>a[1]>>a[2];
    sort(a,a+3);
    if(a[0]+a[1]>a[2])
    {
        cout<<"yes";
    }
    else
    {
        cout<<"no";
    }
}

3-5

这是通过ACSLL码做的

#include<stdio.h>
int main()
{
	char s;
	scanf("%c",&s);
	if(s>='a'&&s<='z')
		s -= 32;
	printf("%c\n", s);
	return 0;
}

还有一种通过字符函数的

见书上p346

#include<stdio.h>
#include<string.h> 
#include<ctype.h>
int main()
{
	char s;
	s = getchar();//相当于scanf("%c",&s);
	if(islower(s))
		printf("%c\n", toupper(s));
	else
		printf("%c\n", s);	  
	return 0;
}

3-6

#include<stdio.h>
#include<string.h> 
#include<ctype.h>
int main()
{
	char s;
	int a;
	s = getchar();//相当于scanf("%c",&s);
	if(islower(s))
		a = s-96;
	if(isupper(s)) 
		a = s-64;
	printf("%d\n", a);	  
	return 0;
}

3-7

首先知道什么是闰年

#include<stdio.h>
int main()
{
	int year;
	scanf("%d",&year);
	if((year%400 == 0)||(year%4==0)&&(year%100 != 0))
		printf("yes!\n");
	else
		printf("no!\n");
 } 

3-8

#include<stdio.h>
int main()
{
    int a,b,c,n=0,i,j;
    printf("请输入年月日: ");
    scanf("%d%d%d",&a,&b,&c);
    for(i=1;i<b;i++)
    {
        if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
        n=n+31;
        else if(i==4||i==6||i==9||i==11)
        n=n+30;
        else
        {
            if(a%4==0&&a%100!=0||a%400==0)
            n=n+29;
            else
            n=n+28;
        }
    }
    n=n+c;
    printf("%d",n);
    return 0;
}

3-9

两种分支语句都实现一下吧;

第一传统的;

#include<stdio.h>
int main()
{
	int k;
	printf("请输入成绩: ");
	scanf("%d", &k);
	if(k>=90)
		printf("A\n");
	else if(k<90&&k>=80)
		printf("B\n"); 
	else if(k<80&&k>=70)
		printf("C\n");
	else if(k<70&&k>=60)
		printf("D\n");
	else if(k<60)
		printf("E\n")
	return 0;
}

第二种

#include<stdio.h>
int main()
{
	int k;
	printf("请输入成绩: ");
	scanf("%d", &k);
	int op=k/10;
	switch(op)
	{
		case 10: 	printf("A\n"); break;
		case 9: 	printf("A\n");break;
		case 8:  	printf("B\n");break;
		case 7:		printf("C\n");break;
		case 6:	 	printf("D\n");break;
		default: 	printf("E\n");
			break;
	}
	return 0;
}

最后一题分段函数:

自己根据前面的思考。。

第四张循环结构请看:https://blog.csdn.net/weixin_44146025/article/details/100751276

有不懂请加QQ 1126879663,想结交更多爱好编程的小伙伴请加学校acm新生群:849974104,有错误也麻烦更正。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114855.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号