首页 > 其他分享 >用天梯赛打开暑假生活第三天

用天梯赛打开暑假生活第三天

时间:2023-06-19 22:23:28浏览次数:33  
标签:输出 天梯 int 第三天 cin 循环 暑假 字符串 源代码

从坐牢到入门的程序设计(3)

开始时间2023-06-19 16:12:04

结束时间2023-06-19 22:05:28

前言:哎嘿嘿嘿,大家今天都回家了吧,都在干嘛呢?是不是在想九栋呢,啊哈哈哈。

L1-009 N个数求和

一、题目要求

 二、程序功能测试及说明

  第一行输入一个数,由给定的数字知道一共有多少个分数,分别输出整数部分和小数部分

 三、程序设计思路及结构说明

  在主函数外定义一个L函数,目的是求出两数之间的最大公约数,m是以0为基础与分母的积加上分子乘n,n是以1为基础乘以每个分母,mn都除以每个循环内的最大公约数,循环结束后,分数分为真分数,整数和带分数,当为整数时输出m与n的商,当为真分数时分别按照格式输出m和n,当为带分数时,先输出整数部分,接着按照格式输出m(除去整数后的分子)和n。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int L(int m,int n)
{
    int t;
    t=m%n;
        while(t!=0)
        {
            m=n;
            n=t;
            t=m%n;
        }
    return n;
}
int main()
{
    int N;
    cin>>N;
    int i=0,sum=0;
    int A,B,m=0,n=1,t,k;
    for(i=0;i<N;i++)
    {
        scanf("%d/%d",&A,&B);
        m=m*B;
        m+=A*n;
        n=n*B;
        k=L(m,n);
       m=m/k;
       n=n/k;
    }
     if (m%n==0)
        printf("%d\n",m/n);
    else if (m<n)
        printf("%d/%d\n",m,n);
    else
        printf("%d %d/%d\n",m/n,m%n,n);
}

L1-010 比较大小

一、题目要求

 二、程序功能测试及说明

  功能为输入三个整数,接着按照格式从小到大输出。

三、程序设计思路及结构说明

  先吸收这三个数,做两次循环,循环内容为:若第一个数大于第二个数,交换顺序;若第三个数小于第二个数,交换顺序。循环结束,按照格式输出。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    int temp,i;
    for(i=0;i<2;i++)
    {
        if(a>b){
        temp=b;
        b=a;
        a=temp;
    }
    if(c<b){
        temp=b;
        b=c;
        c=temp;
    }
    }
    printf("%d->%d->%d\n",a,b,c);
    return 0;
}

L1-011 A-B

一、题目要求

 二、程序测试及说明

  输入两个字符串,然后输出第一个字符串中除去第二个字符串和第一个字符串的公共部分。

三、程序设计思路及结构说明

  首先用getline输入两个字符串,接着做嵌套循环,大循环的目的是可以提取第一字符串中的所有字符,内层循环是将提取出的字符与第二字符串所有字符比对,若相等立即结束,当内层循环全部操作完毕,即提取出的字符与第二字符串中字符没一个相等时,输出该字符,循环结束。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s1,s2;
    getline(cin,s1);
    getline(cin,s2);
    //cin>>s1>>s2;探究cin和getline的区别
    //cout<<s1<<endl;测试s1的值
    int i=0,j=0;
    for(i=0;i<s1.length();i++)
    {
        for(j=0;j<s2.length();j++)
        {
            if(s1[i]==s2[j])break;
        }
        if(j==s2.length())printf("%c",s1[i]);
    }
    return 0;
}

L1-012 计算指数

一、题目要求

 二、程序功能测试及说明

  由所给数字,计算以2为底该数字为指数的结果,按要求输出。

三、程序设计思路及结构说明

  首先吸收这个数字,以该数为循环次数,每一层循环sum乘2,最后按要求输出。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,i=0,j=0;
    cin>>n;
    int sum=1;
    for(i=0;i<n;i++)
    {
        sum*=2;
    }
    printf("2^%d = %d\n",n,sum);
    return 0;
}

L1-013 计算阶乘和

一、题目要求

 二、程序功能测试及说明

  由所给输入,输出从1到该数字的所有阶乘。

 三、程序设计思路及结构说明

  首先吸收这个数,做嵌套循环,大循环为从1到目标数,内层循环为计算阶乘,内层循环结束后与sum相加,重置t的值,外层循环结束后按要求输出。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int i=0,sum=0,j=0,t=1;
    for(i=1;i<=n;i++)
    {
        for(j=0;j<i;j++)
        {
            t*=(i-j);
        }
        //printf("%d\n",t);测试t的值
        sum+=t;
        t=1;//重置t的值
    }
    printf("%d\n",sum);
    return 0;
}

L1-014 简单题

一、题目要求

 二、程序功能测试及说明

  无输入,直接输出“悖论”。

三、程序设计思路及结构说明

  呃,直接输出字符串。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    printf("This is a simple problem.\n");
    return 0;
}

L1-015 跟奥巴马一起画方块

一、题目要求

 二、程序功能测试及说明

  给一个数字,给一个字符,输出一个字符正方形。

 三、程序设计思路及结构说明

  吸收整数和字符,接着进行四舍五入操作,是偶数直接除2,是奇数除2加1,将值赋给l。做嵌套循环,外层设置为行数,0开始l结束,内层目标是输出字符,0开始所给整数结束。每一内层循环结束,输出换行。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,l;
    char p;
    cin>>n>>p;
    if(n%2!=0)
    {
        l=n/2+1;
    }
    else l=n/2;
    int i=0,j=0;
    for(i=0;i<l;i++)
    {
        for(j=0;j<n;j++)
        {
            printf("%c",p);
        }printf("\n");
    }
    return 0;
}

L1-016 查验身份证

一、题目要求

 二、程序功能测试及说明

  首先给一个整数,这个整数是个数,再输入这些个身份证号,前十七位不是数字输出,前十七位加权取余11不等于校验码输出,当所有条件都符合输出一个字符串。

三、程序设计思路及结构说明

  首先吸收一个整数,定义一个a数组(其中为权重分配),一个str数组(其中为正确校验码),定义一个错误输出标志物flag 定义一个正确输出标志物nb。以该整数为循环次数做循环,每个循环吸收一个字符串并针对该字符串进行分析,若出现非数字将两个标志物置为1,若模值不等于校验值将两个标志物置为1,若标志物flag为1,输出该字符串。当内层循环结束,重置标志物flag。当外层循环结束,标志物nb为1,则输出“All passed”。

四、源代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int  a[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
    char str[11] = {'1','0','X','9','8','7','6','5','4','3','2'};
    int i=0,j=0;
    int flag=0,nb=0;
    for(i=0;i<n;i++)
    {
        string s;
        cin>>s;
        int sum=0,temp=0;
        for(j=0;j<17;j++)
        {
            temp=s[j]-'0';
            if(((s[j]-'0')>9)||((s[j]-'0')<0)){
                flag=1;
                nb=1;//检查是否为纯数字
            }//printf("%d\n",flag);//测试flag
            sum=sum+temp*a[j];//计算加权
            
        }
        sum=sum%11;
        //printf("%d",sum);测试sum的值
        if(str[sum]!=s[17]){
            flag=1;nb=1;
        }
        if(flag==1){
            puts(s.c_str());
        }
        flag=0;
    }
    if(nb==0)
        printf("All passed\n");
    return 0;
}

总结:唉嘛,从没感觉手搓代码这么爽,创造了好几种算法。

每日一mo:一mo啥来着,忘了,今天就不emo了,早点睡哈哈哈,明天面试加油!

标签:输出,天梯,int,第三天,cin,循环,暑假,字符串,源代码
From: https://www.cnblogs.com/R-f-12/p/17492368.html

相关文章

  • 用天梯赛打开暑假生活第二天
    从坐牢到入门的程序设计(2)开始时间2023-06-18 20:00:07结束时间2023-06-18 23:18:06前言:还说什么前言,卷吧。L1-006连续因子一、题目要求二、程序功能测试及说明首先吸收一个数字,然后输出最长连续因子的个数,其次输出最小 连续因子序列。 三、程序设计思路及结构......
  • 暑假,多么适合实习的时间
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!马上就要暑假了,想必不少同学有了暑期好好玩耍的准备。但更多的可能是为考研、秋招、实习做准备。作为经历过秋招的人,学长真的觉得利用暑期进行实习是一个为自己简历添彩的经历......
  • 代码随想录算法训练营第三天| 203.移除链表元素 、 707.设计链表 、206.反转链表
    链表的构造:link.h:1#ifndefLINK_H2#defineLINK_H3#include<vector>45structListNode{6intval;7ListNode*next;8ListNode():val(0),next(nullptr){}9ListNode(intx):val(x),next(nullptr){}10ListNode(in......
  • 初始vue3——第三天
    双向绑定基本用法在前端处理表单时,我们常常需要将表单输入框的内容同步给JavaScript中相应的变量。手动连接值绑定和更改事件监听器可能会很麻烦:<input:value="text"@input="event=>text=event.target.value">v-model指令帮我们简化了这一步骤:<inputv-model="text......
  • 第三天:环境变量搭建和运行HelloWord程序
    java开发环境搭建配置环境变量我的电脑-->右键属性点击高级系统设置选择环境变量选择系统变量,新建--》JAVA_HOME配置path变量测试是否安装成功打开cmd输入命令java-version目录含义bin:存放一些可执行程序include:JDK是由C和C++编写启动时......
  • 和娃一起过暑假:一次4000+km自驾的尝试
    娃开始上幼儿园以后,我们全家就想着每年和娃一起出远门过寒暑假,反正,我们的工作只要有电有网就成。但过去两年,总是因为疫情的原因不方便,今年终于成行。7月31日出门,8月17日回到杭州家里,先上个驾驶记录的图,4039km。下面开始流水账+贴图。第一天就从杭州干到洛阳,单天1000+km挑战达成,全......
  • ACM暑假训练 中石油oj 3737: 礼物(矩阵快速幂)
    3737:礼物时间限制:5Sec  内存限制:512MB提交:46  解决:12[提交][状态][讨论版]题目描述热情好客的小猴请森林中的朋友们吃饭,他的朋友被编号为1∼N,每个到来的朋友都会带给他一些礼物:香蕉。其中,第一个朋友会带给他1个香蕉,之后,每一个朋友到来以后,都会带给他之前所有......
  • 洛阳师范学院ACM22级暑假前最后一次周测
    玩的开心B一个难pizzaHDU-1097HDU-1097正解是:枚举0-9每个数的次方循环0123456789100:100000000001:111111111112:124862486243:139713971394:146464646465:155555555556:16......
  • 天梯赛L1-030 一帮一
    一、问题描述“一帮一学习小组”是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组。本题就请你编写程序帮助老师自动完成这个分配工作,即在得到全班学生的排名后,在当前尚未分组的学生中,将名次最靠前的学生与名次最靠后的异性学生分为一组。输......
  • 天梯赛L1-071 前世档案
    一、问题描述网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。现在我们把结论从左到右顺序编号,编号从1开始。这里假设回答都是简单的“是”或“否”,又假......