用天梯赛打开暑假生活第五天
从坐牢到入门的程序设计(5)
开始时间2023-06-24 18:37:54
结束时间2023-06-24 22:04:38
前言:今天游玩的武汉野生动物王国,其实没网上说得那么难堪,挺不错的。
L1-020 帅到没朋友
一、题目编号及题目说明
二、程序功能测试及说明
由所给输入给出没有朋友的人。
三、程序设计思路及结构说明
定义了一个名为find的函数,该函数用于在数组a中查找数字num。函数使用二分查找算法来搜索数字。在main函数中,首先读取输入的整数n,表示接下来将读取n组数据。接下来的循环中,对于每组数据,首先读取整数m,表示接下来将读取m个数字。在内层循环中,读取数字num并调用函数find来在数组a中查找该数字。之后继续读取整数n,表示接下来将读取n个数字。最后的循环中,读取数字num,如果在数组a中找不到该数字,则将其标记为1,并将其输出。最后,如果没有找到任何数字,则输出"No one is handsome"。
四、程序源代码
#include<stdio.h> void find(int* a,int num) { int before=0,after=99999; while(before<=after) { int tmp=(before+after)/2; if(tmp>num) after=tmp-1; else if(tmp<num) before=tmp+1; else { a[tmp]=1; break; } } } int main() { int i,j,m,n,num,a[100000]={0},zore=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&m); if(m==1) { scanf("%d",&num); continue; } for(j=0;j<m;j++) { scanf("%d",&num); find(a,num); } } scanf("%d",&n); int flag=0; for(i=0;i<n;i++) { scanf("%d",&num); if(a[num]==0) { a[num]=1; if(flag) printf(" "); else flag=1; printf("%05d",num); } } if(flag==0) printf("No one is handsome\n"); else printf("\n"); return 0; }
五、题目评分
L1-021 重要的话说三遍
一、题目编号及题目说明
二、程序功能测试及说明
无输入,输出相同的三句话。
三、程序设计思路及结构说明
循环设定为三次,每次分别输出一句话。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { for(int i=0;i<3;i++) { printf("I'm gonna WIN!\n"); } return 0; }
五、题目评分
L1-022 奇偶分家
一、题目编号及题目说明
二、程序功能测试及说明
首先给一个数,按照该个数输入一串数,分别输出奇数和偶数的个数。
三、程序设计思路及结构说明
首先吸收一个数,以该数为循环次数做循环,在内存循环中吸收一个数,如果该数为偶数放入偶数数组中,如果该数为奇数放入奇数数组中。当循环结束按格式输出奇数和偶数的个数。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int os[1000],js[1000]; int flag=0,nb=0,i; for(i=0;i<n;i++) { int a; cin>>a; if(a%2==0) { os[flag]=a; flag++; } if(a%2!=0) { js[nb]=a; nb++; } } printf("%d %d\n",nb,flag); return 0; }
五、题目评分
L1-023 输出GPLT
一、题目编号及题目说明
二、程序功能测试及说明
由给定字符串,统计gplt的出现次数,按照顺序输出,若出现该字符输出完毕跳过该字符。
三、程序设计思路及结构说明
首先吸收字符串,以字符串长度设置循环次数统计gplt大写小写情况出现的个数,再设置一个while循环,单次循环内部gplt个数大于零输出并且个数减一,当总个数小于等于0结束循环。最后为达到目的输出一个换行。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { string s; int i=0; cin>>s; int g=0,p=0,l=0,t=0; for(i=0;i<s.length();i++) { if(s[i]=='g'||s[i]=='G') g++; if(s[i]=='p'||s[i]=='P') p++; if(s[i]=='l'||s[i]=='L') l++; if(s[i]=='t'||s[i]=='T') t++; } while(g+p+l+t>0){ if(g>0){ cout<<"G"; g--; } if(p>0){ cout<<"P"; p--; } if(l>0){ cout<<"L"; l--; } if(t>0){ cout<<"T"; t--; } } printf("\n"); return 0; }
五、题目评分
L1-024 后天
一、题目编号及题目说明
二、程序功能测试及说明
给一个数字,输出其后天星期几。
三、程序设计思路及结构说明
首先用n吸收这个数字,n=(n+2)%7,当n为0时说明正好为周日此时把n置为7.最后按照格式输出。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; n=(n+2)%7; if(n==0) { n=7; } printf("%d\n",n); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程