新生28场

上线人数分数

题目描述

余姚中学高三全省联考刚刚结束,经过各科老师的努力,各个学科的改卷工作终于结束了,每位同学的各科分数也已经结算完毕。此时,校长拿到了清华大学的理科预估分数线k,可是每位同学的总分还没有计算出来。每位同学共有m门成绩,包括语文、数学、外语、综合、IB模块等。
校长请你帮忙,统计一下,总分可以达到清华大学分数线的同学人数。(总分大于或等于分数线即可)
 

输入

第一行三个整数n,m和k,分别表示参加考试的人数,考试门数和预估分数线。
1<=n<=1000, 3<=m<=7,600<=k<=810,。
接下来n行,每行m个整数,表示每位同学的m门学科的成绩。成绩0<=x<=300。

输出

一个整数,表示达到分数线的人数。
 

样例输入 Copy

3 5 721
123 141 136 288 56
103 120 111 250 50
133 130 141 270 58

样例输出 Copy

2
这个题就用结构体就好啦,里面一个成员需要用到数组,这个注意一下下就好
复制代码
#include<iostream>
using namespace std;
struct stu{
    int a[10];
    int sum;
}s[1010];
int main(){
    int n,m,k,t=0;
    cin>>n>>m>>k;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cin>>s[i].a[j];
            s[i].sum+=s[i].a[j];
        }
    }
    for(int i=0;i<n;i++)
    {
        if(s[i].sum>=k)
            t++;
    }
    cout<<t<<endl;
    return 0;
}
复制代码

2的幂数:

小明开始学习二进制转化到十进制,其中要用到2的幂(2的3次幂就是3个2相乘),他觉得这个很有意思。既然通过2的幂相加可以得到十位数,那么反过来,一个十进制数是否可以通过若干个2的幂相加得到呢?
小明开始研究起来,他先列出了所有2的幂:1,2,4,8,16,32,64……。
4=1+1+1+1
4=1+1+2
4=2+2
4=4                 4共有4种方法
7=1+1+1+1+1+1+1
7=1+1+1+1+1+2
7= 1+1+1+2+2
7=1+1+1+4
7=1+2+2+2
7= 1+2+4       
共有6种方法。1+2+4和2+1+4认为是同一个等式,因为它们的组成相同。
现在小明想要知道,给出一个十进制数,可以写出多少种,用若干个2的幂数相加的式子。
 

输入

第一行包含1个正整数n, 1<=n<=1000。

输出

共1行,n能用2的幂数相加的不同式子的种数。

样例输入 Copy

7

样例输出 Copy

6
这个题用的递推,与22场铺瓷砖很类似,找到它的递推关系式。这个要分n为奇偶的情况,奇数很好看,f[n]=f[n-1],多出来的那个1本质没啥用。
偶数,关键要看怎么得到它,8=1+1+1+1+1+1+1+1可以分为7=1+1+1+1+1+1+2,也可以分为2+2+2+2,两种奇偶的情况。
复制代码
#include<iostream>
using namespace std;
int f[100010];
int main(){
    int n;
    cin>>n;
    f[1]=1;
    for(int i=2;i<=n;i++)
    {
        if(i%2==1)
            f[i]=f[i-1];
        else
            f[i]=f[i-1]+f[i/2];
    }
        
    cout<<f[n]<<endl;
    return 0;
}
复制代码

甜蜜的烦恼:

题目描述

最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。真是又快又准,太爽了!

今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张 明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。她想这容易解决,继续查找“李达”,没有?查找“李 达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!

珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。

输入

输入的第一行只有一个正整数n,表示名单中共有n个人的姓名。
第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。

输出

输出有n+1行,第一行只有一个正整数,表示总共删除的空格数。
第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。

样例输入 Copy

3
ZhangMing	
Li Da
Wu  Ya  Fei

样例输出 Copy

5
ZhangMing	
LiDa
WuYaFei

提示

100%的数据,1≤n≤10000,每行姓名的字符数不超过100。
复制代码
#include<iostream>//甜蜜的烦恼 
using namespace std;
char ch[1000][1000];
int main(){
    int n,t=0;
    cin>>n;
    getchar();
    for(int i=0;i<n;i++)
    {
        gets(ch[i]);
        for(int j=0;ch[i][j];j++)
        {
            if(ch[i][j]==' ')
            {
                t++;
            }
        }
    }
    cout<<t<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;ch[i][j];j++)
        {
            if(ch[i][j]==' ')
                continue;
            else
                cout<<ch[i][j];
        }
        cout<<endl;
    }
    return 0;
    
}
复制代码
posted @   小志61314  阅读(88)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示