C语言刷题——lesson9

本文介绍了11道C语言编程题目,包括成绩统计、密码验证、矩阵计算、逆序输出等,提供了参考代码和解题思路,帮助读者提升C语言编程能力。
摘要由CSDN通过智能技术生成

1. BC87-成绩统计

题目描述

输入n科成绩(浮点数表示),统计其中的最高分,最低分以及平均分。

数据范围:1≤n≤100 , 成绩使用百分制且不可能出现负数

输入描述:

两行,

第1行,正整数n(1≤n≤100)

第2行,n科成绩(范围0.0~100.0),用空格分隔。

输出描述:

输出一行,三个浮点数,分别表示,最高分,最低分以及平均分(小数点后保留2位),用空格分隔。

示例1

输入

5
99.5 100.0 22.0 60.0 88.5

输出

100.00 22.00 74.00

参考代码:

#include <stdio.h>
int main()
{
   
    int n = 0;
    double sum = 0.0;
    double avg = 0.0;
    double min = 100.0;
    double max = 0.0;
    double score = 0.0;
    int i = 0;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
   
        scanf("%lf", &score);
        sum += score;
        if (score > max)
            max = score;
        if (score < min)
            min = score;
    }
    avg = sum / n;
    printf("%.2lf %.2lf %.2lf\n", max, min, avg);
    return 0;
}

答案解析:

  1. 输入的同时就最大值最小值和求和,然后计算想要的结果。

2. BC89-密码验证

题目描述

用户登录网站,通常需要注册,一般需要输入两遍密码。请编程判断输入的两次密码是否一致,一致输出“same”,不一致输出“different”

输入描述:

每行有两个用空格分开的字符串,第一个为密码,第二个为重复密码。

输出描述:

每组输出一个字符串(“same”或“different”)。

示例1

输入

abc abc

输出

same

参考代码:

#include <stdio.h>
#include <string.h>
int main()
{
   
    char password1[100] = {
    0 };
    char password2[100] = {
    0 };
    scanf("%s %s", password1, password2);
    if (strcmp(password1, password2) == 0)
        printf("same\n");
    else
        printf("different\n");
    return 0;
}

答案解析:

  1. 密码是字符串,字符串的比较函数使用strcmp函数。

3. BC90-矩阵计算

题目描述

输入NxM矩阵,矩阵元素均为整数,计算其中大于零的元素之和。

输入描述:

第一行为N M(N: 矩阵行数;M: 矩阵列数,且M,N<=10),接下来的N行为矩阵各行。

输出描述:

一行,其中大于零的元素之和。

示例1

输入

3 3
2 3 4
-5 -9 -7
0 8 -4

输出

17

参考代码:

#include <stdio.h>
int main()
{
   
    int m = 0;
    int n = 0;
    scanf("%d %d", &m, &n);
    int i = 0;
    int j = 0;
    int tmp = 0;
    int sum = 0;
    for (i = 0; i < n; i++)
    {
   
        for (j = 0; j < m; j++)
        {
   
            scanf("%d", &tmp);
            if (tmp > 0)
                sum += tmp;
        }
    }
    printf("%d", sum);
    return 0;
}

答案解析:

  1. 在输入的同时,将大于0的数求和。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值