从坐牢到入门的程序设计(8)
开始时间2023-06-28 19:02:04
结束时间2023-06-28 21:24:22
前言:今天这一篇也不会发在朋友圈里,一是怕她看到(或许她不会看),二是怕你们又笑话我因为某个女孩伤脑筋......
L1-034 点赞
一、题目编号及题目说明
二、程序功能测试及说明
统计输入中的数列,并找到出现次数最多的数字及其出现次数。
三、程序设计思路及结构说明
- 获取用户输入的整数n,表示接下来要输入的数列个数。
- 定义一个大小为1001的整型数组a,并将所有元素初始化为0,用于统计数字出现的次数。
- 使用循环遍历输入的数列:
- 获取每个数列的长度b。
- 使用循环读取数列中的数字c,并将数组a中对应的元素加1,表示数字c在数列中出现了一次。
- 初始化变量max为数组a的第一个元素,变量t用于记录出现次数最多的数字。
- 遍历数组a,找到出现次数最多的数字及其出现次数:
- 如果当前元素的值大于等于max,则更新max为当前元素的值,t为当前索引i。
- 输出找到的出现次数最多的数字及其出现次数,即t和max。
- 程序结束。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int i=0; int a[1001]={0}; for(i=0;i<n;i++) { int b=0; cin>>b; int j=0; for(j=0;j<b;j++) { int c; cin>>c; //cout<<c<<endl;测试c a[c]++; //printf("%d\n",a[c]);测试加一 } } int max=a[0]; int t=0; for(i=0;i<1001;i++) { if(a[i]>=max) { max=a[i]; t=i; } } //printf("%d",max);测试max printf("%d %d\n",t,max); return 0; }
五、题目评分
L1-035 情人节
一、题目编号及题目说明
二、程序功能测试及说明
根据输入的一系列字符串,判断有多少人邀请Momo共进晚餐,并给出不同情况下的输出。
三、程序设计思路及结构说明
- 声明一个字符串向量 ve 和一个字符串 s。
- 使用 while 循环读取用户输入的字符串 s,直到遇到"."为止。
- 将每个非"."的字符串 s 加入 ve 中。
- 获取 ve 的长度 len。
- 根据 len 的值进行输出判断:
- 如果 len 小于 2,说明没有人邀请 Momo,输出 "Momo... No one is for you ..."。
- 如果 len 小于 14,输出 ve[1] + " is the only one for you...",其中 ve[1] 表示邀请 Momo 的第二个人(从 0 开始计数)。
- 如果 len 大于等于 14,输出 ve[1] + " and " + ve[13] + " are inviting you to dinner...",表示邀请 Momo 的第二个人和第十四个人共进晚餐。
- 程序结束。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main(){ vector<string>ve; string s; while(cin>>s){ if(s==".") break; ve.push_back(s); } int len=ve.size(); if(len<2) cout<<"Momo... No one is for you ..."<<endl; else if(len<14) cout<<ve[1]<<" is the only one for you..."<<endl; else cout<<ve[1]<<" and "<<ve[13]<<" are inviting you to dinner..."<<endl; return 0; }
五、题目评分
L1-036 A乘以B
一、题目编号及题目说明
二、程序功能测试及说明
读取两个整数 a 和 b,然后输出它们的乘积。
三、程序设计思路及结构说明
- 声明两个整数变量 a 和 b。
- 使用 cin 语句分别读取两个整数 a 和 b 的值。
- 使用 printf 函数将 a 和 b 的乘积打印输出,并换行。
- 返回 0,表示程序执行完毕。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { int a,b; cin>>a>>b; printf("%d\n",a*b); return 0; }
五、题目评分
L1-037 A除以B
一、题目编号及题目说明
二、程序功能测试及说明
读取两个浮点数 a 和 b,并根据 b 的值进行不同的输出。
三、程序设计思路及结构说明
- 声明两个浮点数变量 a 和 b。
- 使用 cin 语句分别读取两个浮点数 a 和 b 的值。
- 使用 if-else 分支结构判断 b 的值所处的情况:
- 如果 b 等于 0,输出错误信息 "a/b=Error",其中 a 和 b 的值保留 0 位小数。
- 如果 b 小于 0,输出表达式结果 "a/(b)=a/b",其中 a、b 和 a/b 的值保留 2 位小数。
- 如果以上条件都不满足,即 b 大于 0,输出表达式结果 "a/b=a/b",其中 a、b 和 a/b 的值保留 2 位小数。
- 程序结束。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { float a,b; cin>>a>>b; if(b==0) { printf("%.0f/%.0f=Error\n",a,b); } else if(b<0) { printf("%.0f/(%.0f)=%.2f\n",a,b,a/b); } else{ printf("%.0f/%.0f=%.2f\n",a,b,a/b); } }
五、题目评分
L1-038 新世界
一、题目编号及题目说明
二、程序功能测试及说明
在控制台打印输出两行字符串:"Hello World" 和 "Hello New World"。
三、程序设计思路及结构说明
- 使用 printf 函数输出字符串 "Hello World",并换行。
- 使用 printf 函数输出字符串 "Hello New World",并换行。
- 返回 0,表示程序执行完毕。
四、程序源代码
#include<bits/stdc++.h> using namespace std; int main() { printf("Hello World\nHello New World\n"); return 0; }