C语言学习笔记:04_选择结构

/*
 * 04_选择结构.c
 *
 *  Created on: 2015年7月3日
 *      Author: zhong
 */

#include <stdio.h>
#include <stdlib.h>

/**
 * 选择结构: if else switch
 */

//解方程 ax^2+bx+c=0
void equation() {
	double a, b, c, x1, x2, p, q;
	printf("请输入数字a,b,c用空格隔开,然后回车\n");
	scanf("%lf%lf%lf", &a, &b, &c);

	int _x = b * b - 4 * a * c; //满足b^2-4ac>=0才有解

	if (_x >= 0) { //满足b^2-4ac>=0才有解
		p = -b / 2.0 * a;
		q = sqrt(_x) / 2 * a;

		x1 = p + q;
		x2 = p - q;
		printf("x1=%7.2f\nx2=%7.2f\n", x1, x2); //7.2表示输出时,数据共占7列,小数占2列(可以控制小数点的输出)。

	} else { //否则方程无解
		printf("输入的三个数对于方程无解\n");
	}
}

//输入两个整数,由小到大输出
void tow_num_sort() {
	int x, y, d;
	scanf("%d,%d", &x, &y);
//	if(x<y)
//		printf("%d<%d",x,y);
//	else
//		printf("%d<%d",y,x);

	if (x > y) {
		//用第三方变量交换两个数
		d = x;
		x = y;
		y = d;
	}
	printf("%d<%d", x, y);

}

void if_else_type() {

	if (1 > 2)
		printf("1>2");

	//----------------

	if (1 > 2) {
		printf("1>2");
	} else {
		printf("1--2");
	}

	//-------------------------

	if (1 > 2) {

	} else {
		if (1 > 2) {

		} else {
			if (1 > 2) {

			} else {

			}
		}
	}

	//---------------
	if (1 > 2) {

	} else if (1 > 2) {

	} else if (1 > 2) {

	} else {

	}

}

//使用指针交换两个数
void swap(int *a, int *b) {
	int c;
	c = *a;
	*a = *b;
	*b = c;
}

void n_number_sort() {

	int a = 3, b = 1, c = 5;

	if (a > b)
		swap(&a, &b);
	if (b > c)
		swap(&b, &c);
	if (a > c)
		swap(&a, &c);

	printf("%d<%d<%d", a, b, c);

}

//-------switch------------------------------------------
//输入成绩等级,输出成绩分类
void grade(){
	char grade;
	scanf("%c",&grade);

	printf("你的成绩:");

	switch (grade) { //括号里面表达式的类型只能是整型(包含char)
		case 'A':
		case 'a':
			printf("85-100\n");
			break;

		case 'B':
		case 'b':{
			printf("70-84\n");
			break;
		}
		case 'C':
			printf("60-69\n");
			break;

		case 'D':
			printf("8<60\n");
			break;

		default: //这个语句可以没有,不匹配时不执行任何语句
			printf("输入有误");
			break;
	}
}


int main4() {
//	equation();
//	tow_num_sort();
//	n_number_sort();
	grade();

	//	if(3)  这样会报错,要用括号括起来,作用域不明确
	//		int a=10;

//	system("pause");
	return 0;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值