C语言初阶必会的练习题(1)



提示:

可能我写的代码不是最优解,但是我都在用通俗的语言进行解释。
希望各位看官们 体谅!

(1)写一个函数求两个整数的较大值

	 如:
	 输入:10 20
 	 输出较大值:20
  • 直接上代码(里面的注释有具体的解释的)
//写一个函数 get_max 来判断 两个整数的 较大值
int get_max(int x, int y)
{
	//方法1 条件操作符
	//return (x > y ? x : y);
	
	//方法2 运用 if 条件分支进行判断
	if (x > y)
		return x;
	else
		return y;
}

int main()
{
	//分别定义两个变量,用来存储输入的两个整型数值
	int a = 0;
	int b = 0;
	
	//定义一个整型变量,用来存储两个数值的最大值
	int max = 0;
	
	//输入两个数值
	scanf("%d %d", &a, &b);
	
	//调用函数,并用变量 max接受
	max = get_max(a, b);
	
	//输出打印 max 的值
	printf("max = %d\n", max);

	return 0;
}

  • 输出结果

(2)从键盘输入的两个数的大小关系,请编程实现。

//输入描述:
//题目有多组输入数据,每一行输入两个整数,用空格分隔。
//输出描述:
//针对每行输入,输出两个整数及其大小关系,数字和关系运算符之间没有空格,详见输入输出样例。
// 示例1
// 1 1
// 1=1
  • 直接上代码(里面的注释有具体的解释的)
int main() {
    //分别定义两个变量,用来存储输入的两个整型数值
    int a = 0;
    int b = 0;
    
    //循环多次输入两个数值
    
    //scanf("%d %d", &a, &b) == 2
    //这里解释一下 上面的这一行代码
    //因为 scanf 函数 返回值是 读取到个数
    //即读到多少个数或者其他字符,就返回读取到的个数
    //如果没有读取到,或者发生了读取异常
    //则scanf的返回值是 EOF(end of file)
    //
    while (scanf("%d %d", &a, &b) == 2) 
    {
        //进行 比较判断
        if (a > b) 
        {
            printf("%d>%d\n", a, b);
        }
        else if (a < b) 
        {
            printf("%d<%d\n", a, b);
        }
        else 
        {
            printf("%d=%d\n", a, b);
        }

    }

    return 0;
}
  • 输出结果

(3)KiKi想知道一个整数的奇偶性,请帮他判断。从键盘任意输入一个整数,编程判断它的奇偶性。

// 输入描述:
// 多组输入,每行输入包括一个整数。
// 输出描述:
// 针对每行输入,输出该数是奇数(Odd)还是偶数(Even)。
// 示例1
// 输入:
// 4
// 7
// 输出
// Even
// Odd
  • 直接上代码(里面的注释有具体的解释的)
int main()
{
	//定义一个整型变量,用来接受等下输入的数值
	int n = 0;
	//多组输入,并进行判断奇偶性
	while (scanf("%d", &n) != EOF)
	{
		// if 双分支进行判断
		
		// % 是取余操作符,
		//即是整型数字 整除 另一个整型数 的余数
	
		// == 是判断两个数值 是否相等
		if (n % 2 == 0)
		{
			printf("Even\n");
		}
		else
		{
			printf("Odd\n");
		}
	}
}

  • 输出结果

(4)输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。

//输入描述:
//五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。
//输出描述:
//五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。
//示例1 
//输入:
// 98.5 96.0 100 99 88
// 60.5 77 88.5 99 60
// 80 80.5 89 91 92
// 93 94 95.5 96 97.5
// 100 98 88.5 88 78.5
// 
//输出: 
// 98.5 96.0 100.0 99.0 88.0 481.5
// 60.5 77.0 88.5 99.0 60.0 385.0
// 80.0 80.5 89.0 91.0 92.0 432.5
// 93.0 94.0 95.5 96.0 97.5 476.0
// 100.0 98.0 88.5 88.0 78.5 453.0
  • 直接上代码(里面的注释有具体的解释的)
int main()
{
	//定义一个浮点型的二维数组,
	//用来存放五名同学的 5科成绩及总分
	double score[5][6] = { 0.0 };
	
	//定义迭代变量 i j,并进行初始化
	int i = 0;
	int j = 0;
	

	//外层循环,五个学生
	for (i = 0; i < 5; i++)
	{
		//定义一个浮点型变量,
		//用来存储 总分
		double sum = 0.0;

		//内层循环,输入5科成绩
		for (j = 0; j < 5; j++)
		{
			scanf("%lf", &score[i][j]);
			sum += score[i][j];
		}
		//将sum成绩 存放在数组的最后一个
		score[i][5] = sum;
	}
	
	//打印=======================================
	//将输入和输出分隔开
	
	printf("=======================================\n");
	
	//循环输出
	for (i = 0; i < 5; i++)
	{
		//最后,输出打印5科成绩及累加总分
		for (j = 0; j < 6; j++)
		{
			// %.1lf 是双精度浮点数的格式,
			//并小数点后 只保留一位数字
			printf("%.1lf ", score[i][j]);
		}
		//换行操作,
		//即每打印一位同学的5科成绩就进行 换行操作
		printf("\n");
	}

	return 0;
}

  • 输出结果在这里插入图片描述

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值