复兴无基础暑假作业
2025-08-03 00:56:09
发布于:上海
T1变量输入输出
#include <iostream>
using namespace std;
int main() {
int a;
cin >> a;
cout << a;
return 0;
}
T2小码君买文具
#include <iostream>
using namespace std;
int main() {
int a, b; // 定义两个变量,都是 int 类型,可以装整数(这里表示 a 元 b 角),名字为 a 和 b
cin >> a >> b; // 输入变量 a 和 b
int ans = (a * 10 + b) / 19; // 转换成以角为单位进行运算
cout << ans;
return 0;
}
T3鸡兔同笼
#include <iostream>
using namespace std;
int main() {
int x, y; // 头有 x 个,脚有 y 只
cin >> x >> y;
int a, b; // a 是鸡的数量,b 是兔的数量
b = (y - 2 * x) / 2;
a = x - b;
cout << a << endl << b;
return 0;
}
T4逆序输出整数
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
int a;
cin >> a;
printf("%d ",a % 10);
printf("%d ",a / 10 % 10);
printf("%d",a / 100);
return 0;
}
T5乘法练习
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int n1 = n % 1000;
int n2 = n / 1000 % 1000;
int n3 = n / 1000000;
cout << n1 * n2 * n3;
return 0;
}
T6判断闰年
#include <iostream>
using namespace std;
int main(){
int year;
cin >> year;
if (year % 4 == 0){
if (year % 100 == 0){
if(year % 400 == 0){
cout << "Y";
}else{
cout << "N";
}
}else{
cout << "Y";
}
}else{
cout << "N";
}
return 0;
}
T7计算日期
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
if(n%7==0){cout<<"monday";}
if(n%7==1){cout<<"tuesday";}
if(n%7==2){cout<<"wednesday";}
if(n%7==3){cout<<"thursday";}
if(n%7==4){cout<<"friday";}
if(n%7==5){cout<<"saturday";}
if(n%7==6){cout<<"sunday";}
return 0;
}
T8苹果和虫子
#include<iostream>
using namespace std;
int main(){
int n , x , y;
cin >> n >> x >> y;
int sum ;
if(y % x == 0){
sum = n - y / x ;
}else {
sum = n - y / x - 1 ;
}
if(sum < 0) cout << 0;
else cout << sum;
return 0;
}
T9计算邮费
#include <bits/stdc++.h>
using namespace std;
int main(){
int a;
char b;
int sum=8;
scanf("%d %c",&a,&b);
if(b=='y'){
sum+=5;
}
if(a>1000){
if((a-1000)%500==0){
sum+=(a-1000)/500*4;
}
else{
sum+=(a-1000)/500*4;
sum+=4;
}
}
printf("%d",sum);
return 0;
}
T10水仙花数
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,c,b,sum = 0;
cin >> a;
c = a;
for(int i=2;i>=0;i--) {
b = a%10;
a = a/10;
sum += b*b*b;
}
if(sum == c){
cout << "YES";
}
else{
cout << "NO";
}
return 0;
}
T11有多少天呢?
#include <bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
if(b==1||b==3||b==5||b==7||b==8||b==10||b==12){
cout<<31;
}else if(b==4||b==6||b==9||b==11){
cout<<30;
}else{
if(a%4!=0){
cout<<28;
}else if(a%100==0&&a%400!=0){
cout<<28;
}else{
cout<<29;
}
}
return 0;
}
T12小码君的攒钱计划
#include<iostream>
using namespace std;
int main(){
int N,i,sum=0;
cin >> N;
for(i=1;sum<N;i++){
sum += i;
}
cout << i-1;
return 0;
}
T13小鱼的航程
#include <iostream>
using namespace std;
int main() {
int x, n; // 周几开始,天数
cin >> x >> n;
int sum = 0; // 游泳总的公里数
for (int i = 1; i <= n; i++) { // 天数:1~n
// 如果不是周末,则游泳 250 公里
if (x != 6 && x != 7) {
sum += 250;
}
// 对于星期进行处理
if (x <= 6) {
x++; // 星期 <= 6,加 1
} else {
x = 1; // 星期日(x 是 7),回归星期一
}
}
cout << sum;
return 0;
}
T14输出菱形
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=n-i;j>=1;j--){
printf(" ");
}
printf("*");
for(int j=1;j<i*2-2;j++){
printf(" ");
}
if(i!=1)
printf("*");
printf("\n");
}
for(int i=1;i<=n-1;i++){
for(int j=1;j<=i;j++){
printf(" ");
}
printf("*");
for(int j=1;j<(n-i)*2-2;j++){
printf(" ");
}
if(i!=n-1)
printf("*");
printf("\n");
}
return 0;
}
T15生日
#include <iostream>
#include <string>
using namespace std;
int main() {
int a,b=1;
cin >> a;
while (b<=5){
if (a%4==0 && a%100!=0 || a%400==0){
cout << a <<endl;
b++;
}
a++;
}
return 0;
}
T16平均年龄
#include <bits/stdc++.h>
using namespace std;
int main(){
double a[1001];
double sum=0;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%lf",&a[i]);
sum+=a[i];
}
printf("%.2lf",sum/n);
return 0;
}
T17分苹果
#include <bits/stdc++.h>
using namespace std;
int main(){
int n, x=1, sum=0;
cin >> n;
while(x <= n){
sum = sum + x;
x = x + 1;
}
cout << sum;
return 0;
}
T18求n!
#include<iostream>
using namespace std;
int jc(int n){
if(n==0){
return 1;
}else{
return n*jc(n-1);
}
}
int main(){
int n;
cin>>n;
cout<<jc(n);
return 0;
}
T19猴子吃桃
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,d=0;
cin >> n >> m;
while(n>=m){
n=n-m;
m=m+1;
d++;
}
cout << d;
return 0;
}
T20逆序输出
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
int a[1111];
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=n-1;i>=0;i--)printf("%d ",a[i]);
}
T21超过一半的数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[1005];
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
int sum=0;
for(int j=0;j<n;j++){
if(a[j]==a[i]){
sum++;
}
}
if(sum>n/2){
printf("%d",a[i]);
break;
}
}
return 0;
}
T22【一维数组】【入门】输出奇数和偶数
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[1000];
for (int i = 0; i < n; i++){
cin >> arr[i];
}
bool a = false;
for (int i = 0; i < n; i++){
if (arr[i]%2 != 0){
cout << " " << arr[i];
a = true;
}
}
if (a){
cout << endl;
}
bool b = false;
for (int i = 0; i < n; i++){
if (arr[i] % 2 == 0){
cout << " "<< arr[i];
b = true;
}
}
if (b){
cout << endl;
}
return 0;
}
T23【一维数组】【入门】最大数
#include <bits/stdc++.h>
using namespace std;
int main (){
int b;
cin >> b;
int a[b];
int c = 0;
for (int i = 0;i < b;i ++){
cin >> a[i];
if (a[i] > c){
c = a[i];
}
}
cout << c;
return 0;
}
T24【一维数组】【入门】输出数组中最大数的位置
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int a[n];
int curmax=0;
for(int i=0;i<n;i++){
cin >> a[i];
if(a[i]>curmax){
curmax=a[i];
}
}
for(int i=0;i<n;i++){
if(a[i]==curmax){
cout << i+1 << endl;
}
}
return 0;
}
T25【一维数组】【入门】不与最大数相同的数字之和
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int nums[1000];
int arr[1000];
int a = 0;
int b = 0;
for(int i = 0; i < n; i++){
cin >> nums[i];
if (nums[i] > b){
b = nums[i];
a = 0;
}
}
for (int i = 0; i < n; i++){
if (nums[i] == b) {
arr[a++]=i + 1;
}
}
for (int i = 0; i < a; i++){
cout << arr[i]<<endl;
}
return 0;
}
T26【一维数组】【入门】计算书费
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int a[n];
int curmax=0;
int sum=0;
for(int i=0;i<n;i++){
cin >> a[i];
if(a[i]>curmax){
curmax=a[i];
}
}
for(int i=0;i<n;i++){
if(a[i]!=curmax){
sum=sum+a[i];
}
}
cout << sum;
return 0;
}
T27【一维数组】【入门】校门外的树
#include <iostream>
using namespace std;
int main() {
int L, M;
cin >> L >> M;
int m[10002] = {0};
for (int i = 0; i < M; i++) {
int a, b;
cin >> a >> b;
m[a]++;
m[b + 1]--;
}
int count = 0;
int current = 0;
for (int i = 0; i <= L; i++) {
current += m[i];
if (current == 0) {
count++;
}
}
cout << count << endl;
return 0;
}
T28字符数组-统计字符数
#include<iostream>
#include<string>
using namespace std;
int a[26];
int main()
{
int max=0,maxc;
string s;
getline(cin,s);
for(int i=0;i<s.size();i++)
{
a[s[i]-97]++;
}
for(int i=0;i<26;i++)
{
if(max<a[i])
{
max=a[i];
maxc=i;
}
}
char c=maxc+97;
printf("%c%c%d",c,' ',max);
}
T29字符串操作
#include <bits/stdc++.h>
using namespace std;
int main(){
string a,d;
cin >> a;
int b,c;
cin >> b;
for(int i=0;i<b;i++){
cin >> c;
if (c==1){
cin >> d;
a+=d;
}
else if (c==2){
cout << a.size() << endl;
}
else if (c==3){
cin >> d;
if (a>d){
cout << a<< endl;
continue;
}
cout << d << endl;
}
}
return 0;
}
T30字符串的剥离重组
#include <iostream>
#include <string>
using namespace std;
int main(){
string n;
cin >> n;
int a[n.length()];
int b[n.length()];
int acount=0,bcount=0;
for(int i=0;i<n.length();i++){
if(i%2==0){
a[int(i/2)]=n[i];
acount++;
//cout<<char(a[int(i/2)]);
}else{
b[int(i/2)]=n[i];
bcount++;
//cout<<char(b[int(i/2)]);
}
}
//compare a and b
for(int i=0;i<int(n.length()/2);i++){
if(a[i]==b[i]){
continue;
}
//put a[] first
else if(a[i]>b[i]){
for(int j=0;j<acount;j++){
cout<<char(a[j]);
}
for(int j=0;j<bcount;j++){
cout<<char(b[j]);
}
return 0;
}
else{
for(int j=0;j<bcount;j++){
cout<<char(b[j]);
}
for(int j=0;j<acount;j++){
cout<<char(a[j]);
}
return 0;
}
}
}
T31找第一个只出现一次的字符
#include <iostream>
#include <string>
using namespace std;
int main(){
string n;
cin >> n;
int a[26]={0};
for(int i=0;i<n.length();i++){
char m=n[i];
//a~z counter plus 1
a[m-'a']++;
}
for(int i=0;i<26;i++){
if(a[i]==1){
cout << char(i+'a');
return 0;
}
}
cout << "no";
return 0;
}
T32规范药名
#include <iostream>
#include <string>
using namespace std;
int main(){
int num;
cin >> num;
string y;
for(int i=0;i<num;i++){
cin >> y;
for(int j=0;j<y.length();j++){
//把第一个字母变成大写
if(j==0 && y[j]<='z' && y[j]>='a'){
cout << char(y[j]-32);
}
//后面的字母如果是大写换成小写
else if(j!=0 && y[j]<='Z' && y[j]>='A'){
cout << char(y[j]+32);
}
else{
cout << char(y[j]);
}
}
cout << endl;
}
return 0;
}
T33加密的病历单
#include <bits/stdc++.h>
using namespace std;
int main (){
string a;
cin >> a;
int b = a.length();
for (int i = 0;i < b;i ++){
if (a[i] >= 'x' ){
a[i] -= 23;
}else if (a[i] >= 'X' && a[i] <='Z'){
a[i] -= 23;
}else {
a[i] += 3;
}
if (a[i] >= 'A' && a[i] <= 'Z'){
a[i] += 32;
}else {
a[i] -= 32;
}
}
for (int j = b-1;j >= 0;j --){
cout << a[j];
}
return 0;
}
T34配对碱基链
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
getline(cin,s);
for(int i=0;i<s.length();i++){
if(s[i]=='A'){
cout << "T";
}else if(s[i]=='T'){
cout << "A";
}else if(s[i]=='G'){
cout << "C";
}else if(s[i]=='C'){
cout << "G";
}else{
cout << "C";
}
}
return 0;
}
T35邮箱检查
#include <iostream>
#include <string>
using namespace std;
int main() {
string email2;
getline(cin, email2);
int N;
cin >> N;
int count = 0;
for (int i = 0; i < N; ++i) {
string username, password, email;
cin >> username >> password;
getline(cin >> ws, email);
if (email == email2) {
for (int j = 0; j < password.length(); ++j) {
char c = password[j];
if (c >= 'a' && c <= 'z') password[j] -= 32;
else if (c >= 'A' && c <= 'Z') password[j] += 32;
}
cout << username << " " << password << endl;
count++;
}
}
if (count == 0) cout << "empty" << endl;
return 0;
}
T36过滤多余的空格
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s);
string result;
for(int i=0; i<s.size(); i++) {
if(s[i] != ' '){
result += s[i];
}else{
result += ' ';
int j = i+1;
while(j < s.size() && s[j] == ' ') j++;
i = j-1;
}
}
cout << result << endl;
return 0;
}
T37默写字母表
#include <iostream>
#include <string>
using namespace std;
int main() {
char c1, c2, c3;
cin >> c1 >> c2 >> c3;
int total=0,maxcount = 0;
char maxchar;
int count1;
if(c1>='a' && c1<='z'){
count1=c1-'a'+1;
maxchar=c1;
}else{
count1=c1-'A'+1;
maxchar=c1+32;
}
total+=count1;
maxcount=count1;
int count2;
if (c2>='a' && c2<='z') {
count2=c2-'a'+1;
}else{
count2=c2-'A'+1;
}
total+=count2;
if(count2>maxcount){
maxcount=count2;
if(c2>='a' && c2<='z'){
maxchar = c2;
}else{
maxchar=c2+32;
}
}
int count3;
if(c3>='a' && c3<='z'){
count3=c3-'a'+1;
}else{
count3=c3-'A'+1;
}
total+=count3;
if(count3>maxcount){
maxcount=count3;
if(c3>='a' && c3<='z'){
maxchar=c3;
}else{
maxchar=c3+32;
}
}
cout << total << " " << maxchar << endl;
return 0;
}
这里空空如也
有帮助,赞一个