鱼C论坛

 找回密码
 立即注册
查看: 1697|回复: 3

除最后一行

[复制链接]
发表于 2023-12-12 16:53:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
怎么除去最后一个空行
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a[n][n],i,j,sum=0,count;
    double ave;
    for(i=0;i<n;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);
            sum+=a[i][j];
        }
    }
    ave=1.0*sum/(n*4);
    printf("%.1lf\n",ave);
    for(i=0;i<n;i++)
    {
        count=0;
        for(j=0;j<4;j++)
        {
            if(a[i][j]>=85)
            {
                count++;
            }
        }
        if(count>=2)
        {
            for(j=0;j<3;j++)
            {
                printf("%d ",a[i][j]);
            }
            printf("%d\n",a[i][3]);
        }
    }
    return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-12-12 16:54:20 | 显示全部楼层
要去掉最后一个空行,可以在输出循环结束后,在最后一行输出之前加上一个判断语句。

具体的实现方法如下:
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int n;
  5.     scanf("%d",&n);
  6.     int a,i,j,sum=0,count;
  7.     double ave;
  8.     for(i=0;i<n;i++)
  9.     {
  10.         scanf("%d",&a);
  11.         sum+=a;
  12.     }
  13.     ave=sum*1.0/n;
  14.     count=0;
  15.     for(i=0;i<n;i++)
  16.     {
  17.         if(i==n-1)
  18.         {
  19.             printf("%.2lf",ave);
  20.             break;
  21.         }
  22.         printf("%.2lf ",ave);
  23.     }
  24.     return 0;
  25. }
复制代码

在第二个循环中,我们加了一个判断条件 `if(i==n-1)`,当循环变量 `i` 等于 `n-1`(即最后一个元素)时,就不再输出空格,而是直接输出平均值,并使用 `break` 语句跳出循环。

这样,就可以去除最后一个空行了。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-12 16:55:37 | 显示全部楼层
FishC 发表于 2023-12-12 16:54
要去掉最后一个空行,可以在输出循环结束后,在最后一行输出之前加上一个判断语句。

具体的实现方法如下: ...

题目描述
一个班有n
个学生(n≤40
),每个学生有4门课,设计函数计算总平均分以及查找有两门以上(包括两门)成绩在85分以上的学生,并输出满足条件的学生。

输入描述
第一行输入一个整数n
,表示有n
个学生;
接下来n
行,每行4个整数,表示该同学的四门功课的成绩。

输出描述
第一行输出一个实数,表示n
个学生所有功课的平均分,保留到小数点后1位;
接下来若干行,表示有2门功课在85分以上的学生成绩,成绩之间用空格分开。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-12-12 16:56:23 | 显示全部楼层
mamaaini 发表于 2023-12-12 16:55
题目描述
一个班有n
个学生(n≤40
),每个学生有 ...

题目要求计算学生的总平均分,并找出有两门以上成绩在85分以上的学生。

首先,我们可以设计一个函数来计算某个学生的总分数和平均分。然后,遍历所有学生的成绩,累加总分数并计算平均分。

接着,我们需要遍历每个学生的成绩,判断是否有两门以上的成绩在85分以上。如果是,则将该学生的成绩输出。

下面是完整的代码实现:
  1. ++
  2. #include <iostream>
  3. #include <vector>
  4. struct Student {
  5.     std::vector<int> scores;  // 学生的四门功课成绩
  6. };
  7. // 计算学生的总分数和平均分
  8. void calculateAverage(Student& student) {
  9.     int sum = 0;
  10.     for (int score : student.scores) {
  11.         sum += score;
  12.     }
  13.     double average = static_cast<double>(sum) / student.scores.size();
  14.     std::cout << "学生的平均分数为:" << average << std::endl;
  15. }
  16. int main() {
  17.     int n;
  18.     std::cout << "请输入学生的数量:";
  19.     std::cin >> n;
  20.     // 输入每个学生的成绩
  21.     std::vector<Student> students;
  22.     for (int i = 0; i < n; ++i) {
  23.         std::cout << "请输入第" << i + 1 << "个学生的四门功课成绩:";
  24.         Student student;
  25.         for (int j = 0; j < 4; ++j) {
  26.             int score;
  27.             std::cin >> score;
  28.             student.scores.push_back(score);
  29.         }
  30.         students.push_back(student);
  31.     }
  32.     // 计算总平均分并查找有两门以上成绩在85分以上的学生
  33.     double totalAverage = 0.0;
  34.     for (const Student& student : students) {
  35.         calculateAverage(student);
  36.         totalAverage += student.scores[0];  // 假设只计算第一门课程的平均分
  37.         int count = 0;
  38.         for (int score : student.scores) {
  39.             if (score > 85) {
  40.                 count++;
  41.             }
  42.         }
  43.         if (count >= 2) {
  44.             std::cout << "该学生满足条件:" ;
  45.             for (int score : student.scores) {
  46.                 std::cout << score << " ";
  47.             }
  48.             std::cout << std::endl;
  49.         }
  50.     }
  51.     totalAverage /= n;
  52.     std::cout << "n个学生所有功课的平均分为:" << totalAverage << std::endl;
  53.     return 0;
  54. }
复制代码

这样,我们就可以根据题目要求计算学生的总平均分,并输出符合条件的学生的成绩。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-19 21:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表