第三单元分支结构

第三单元分支结构

持续更新:

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,有错误也麻烦更正。

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java怎么创建文件夹文本文件_java删除文件夹下指定文件

    java怎么创建文件夹文本文件_java删除文件夹下指定文件jikpackagetest.file;//time:05-12-22//author:[email]huapingsmith@hotmail.com[/email]//description:程序先检查文件夹是否存在,如果不存在,则创建一个,存在,则继续运行.//文件夹处理完成后,下一步工作为往文件夹中创建文件.//caution:当前文件夹中如果已经有名为abc.txt的文件时,//…

    2025年7月2日
    2
  • js 图片加载失败处理方法「建议收藏」

    js 图片加载失败处理方法「建议收藏」个人github:https://github.com/qiilee 欢迎follow在项目中不可避免会用到图片,尤其是列表,有时候图片会加载失败;这样就会显示一个很难看的坏图片缩略图;下面介绍两种方法,解决这个问题:1、如果在你的项目中有引入jQuery插件,你可以使用error([[data],fn])这个函数;$("img").error(function(){  //当图…

    2022年6月2日
    37
  • 带通滤波器作用和用途_什么是带通滤波器?工作原理及原理图详解

    带通滤波器作用和用途_什么是带通滤波器?工作原理及原理图详解带通滤波器(band-passfilter)是一个允许特定频段的波通过同时屏蔽其他频段的设备。比如RLC振荡回路就是一个模拟带通滤波器。带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。一个模拟带通滤波器的例子是电阻-电感-电容电路(RLCcircuit)。这些滤波器也可以用低通滤波器同高通滤波器组合来产生。一个理想的带通滤…

    2022年5月2日
    42
  • 核PCA投影平面公式推导

    样本方差推导样本方差公式$$S=\frac{1}{n1}\sum_{i=1}^n(x_i\mu_i)^2$$扩展开来得到$$S=\frac{1}{n1}[(X\frac{1}{n}

    2021年12月30日
    45
  • Java和c++哪个就业前景好

    Java和c++哪个就业前景好二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有哪些方法?HashMap如何实现的?HashMap和ConcurrentHashMap区别,ConcurrentHashMap线程安全hashtable吗,ConcurrentHashMap如何保证线程安全?HashMap和HashTable区别,HashTable线程安全吗?进程间通信有哪几种方式JVM分为哪些区,每一个区干吗的?JVM如

    2022年7月7日
    27
  • oracle 触发器通知,Oracle触发器详细介绍

    oracle 触发器通知,Oracle触发器详细介绍欢迎进入Oracle社区论坛,与200万技术人员互动交流>>进入触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用他们。功能:1、允许/限制对表的修改2、自动生成派生列,比如自增字段3、强制数据一致性4、提供欢迎进入Oracle社区论坛,与200万技术人员互动交流>>进入触发器是特定事件出现的时候,自动执行的代…

    2022年7月27日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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