第三单元分支结构

第三单元分支结构

持续更新:

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)


相关推荐

  • TLSF内存分配器记录[通俗易懂]

    TLSF内存分配器记录[通俗易懂]论文:《TLSF:aNewDynamicMemoryAllocatorforReal-TimeSystems》这也是Unity底层使用的内存分配器。我直接从论文中间部分开始看。firstlevel存的是每个内存分配大小,从2的四次方到2的31次方。而对应每个大小,又指向一个二级列表,里面被分成4级,每一级的范围认为是同一类。1表示空闲,所以只有2的六次方和2的15次方块是空闲的。再看它指向的二级列表。只有2的六次方+16到2的6次方+32的这个.

  • AWC / Advanced SystemCare Pro(专业版)V3.7.0+有效注册码

    AWC / Advanced SystemCare Pro(专业版)V3.7.0+有效注册码AdvancedSystemCare一直以来都是以突破系统瓶颈为噱头,号称对系统能够进行其他优化软件所没有的更彻底的优化和清理,具体是否如此,相信你使用过后自然会明了,事实上,它的清理效果绝对能让你大吃一惊(这一点可以先用你认为的最好的清理工具对系统进行一次清理,然后再用它清理一遍就能体现出来了),我曾推荐过其3.3和3.4版的专业版(付费版本),而现在,其最新版已是3.5版了,除支持Windows7外,还新增TurboBoost加速功能,日志视图功能以及先进的卸载程序。    Advanc

    2022年10月20日
  • 遍历map的四种方法

    遍历map的四种方法 Map.entrySet()这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出…

  • jenkins私库上进行web项目部署原理[通俗易懂]

    jenkins私库上进行web项目部署原理[通俗易懂]2019独角兽企业重金招聘Python工程师标准>>>…

  • rpm安装和卸载[通俗易懂]

    rpm安装和卸载[通俗易懂]一安装RPM是RedHat公司随RedhatLinux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。  1.安装软件:执行rpm-ivhrpm包名,如:  #rpm-ivhapache-1.3.6.i386.rpm  2.升级软件:执行rpm-Uvhrpm包名。  3.反安装:执行rpm-erpm包名。  4.查询软件包的详细信息:执行r

  • html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签

    html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签我的音乐播放器HTML5中增加了Audio和Video标签,这两个标签的用法非常相似。功能却是相当强大,我们先来看一下Audio标签各个浏览器的支持情况。这里用的依然是CanIUse这个在线网站,相信学习前端的同学应该都不陌生。CanIUse我们可以看到,各大浏览器对这个元素的支持是非常给力的,除了IE8以前的和OperaMini,所以justdoit。相关文档:AudioMDN…

发表回复

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

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