编程题
题目总览


编程题题解
-
- 题目要求输入四次信息,有四次交互的输入(in),最后在一口气列举出来。同时对于firstname与lastname进行了拼接,而且对于输入的成绩进行降级操作。同时对于名字name的要求是可以输入多个单词,也就是可以输入空格。
- 再次解析题意就是需要输入4个变量,同时firstname和lastname需要使用getline的方法来实现输入(避免空格字符造成跳过输入流程的错误),再拼接为name(或者按照顺序输出)。成绩输入的字母aiisc-1实现降级。
- 代码:
| #include<iostream> |
| #include<string> |
| using namespace std; |
| int main() |
| { |
| string fn; |
| string ln; |
| string name; |
| int age; |
| char grade; |
| std::cout << "What is your first name: "; |
| getline(cin, fn); |
| std::cout << "\nWhat is your last name : "; |
| getline(cin, ln); |
| name = ln + "," + fn; |
| std::cout << "\nWhat letter grade do you deserve?"; |
| std::cin >> grade; |
| grade += 1; |
| std::cout << "\nWhat is your age?"; |
| std::cin >> age; |
| std::cout << "Name: " << name << "\nGrade: " << grade << "\nAge: " << age; |
| return 0; |
| } |
-
- 题目要求使用string来获取到交互的喜爱甜点和名字,再输出(类似题1)
- 代码:
| #include<iostream> |
| #include<string> |
| int main() |
| { |
| using namespace std; |
| const int ArSize = 20; |
| string name; |
| string dessert; |
| std::cout << "Enter your name:\n"; |
| getline(cin, name); |
| std::cout << "Enter your favorite dessert:\n"; |
| getline(cin, dessert); |
| std::cout << "I have some delicious [" << dessert; |
| std::cout << "] for you , [" << name<< "].\n"; |
| return 0; |
| } |
-
- 使用拼接和复制的函数来对字符串数组进行操作。
- 代码:
| #include<iostream> |
| #include<cstring> |
| int main() |
| { |
| char fn[20]; |
| char ln[20]; |
| std::cout << "Enter your first name: "; |
| std::cin >> fn; |
| std::cout << "Enter your last name: "; |
| std::cin >> ln; |
| char name[50]; |
| strcpy_s(name, fn); |
| strcat_s(name, ","); |
| strcat_s(name, ln); |
| std::cout << "Here is the information in a single string : " << name; |
| return 0; |
| } |
-
- 改写第三题中使用的char数组操作部分为string操作部分
- 代码:
| #include<iostream> |
| #include<string> |
| int main() |
| { |
| using namespace std; |
| string fn; |
| string ln; |
| std::cout << "Enter your first name: "; |
| std::cin >> fn; |
| std::cout << "Enter your last name: "; |
| std::cin >> ln; |
| string name; |
| name = fn + "," + ln; |
| std::cout << "Here is the information in a single string : " << name; |
| return 0; |
| } |
-
- 定义一个结构包含字符串,浮点数,整数三种成员类型,再初始化并输出。
- 代码:
| #include<iostream> |
| #include<string> |
| struct CandyBar{ |
| std::string brand; |
| float heavy; |
| int calorie; |
| }; |
| int main() |
| { |
| CandyBar snack{ |
| "Mocha Munch", |
| 2.3, |
| 350 |
| }; |
| std::cout << "snack CandyBar:\n"; |
| std::cout << "Brand:" << snack.brand; |
| std::cout << "\nHeavy:" << snack.heavy; |
| std::cout << "\nCalorie:" << snack.calorie; |
| return 0; |
| } |
-
- 对于题5而言增加了一个数组的操作,多个结构赋值与输出。
- 代码:
| #include<iostream> |
| #include<string> |
| struct CandyBar { |
| std::string brand; |
| float heavy; |
| int calorie; |
| }; |
| int main() |
| { |
| using namespace std; |
| CandyBar candys[3] = { |
| {"aerbeisi",10,200}, |
| {"xufuji",20,400}, |
| {"buerjia",30,500} |
| }; |
| for (int i = 0; i < 3; i++) { |
| std::cout << "\nBrand:" << candys[i].brand; |
| std::cout << "\nHeavy:" << candys[i].heavy; |
| std::cout << "\nCalorie:" << candys[i].calorie; |
| std::wcout << "\n___________"; |
| } |
| return 0; |
| } |
-
- 建立一个结构,输入来对结构内的元素进行赋值,并输出。
- 代码:
| #include<iostream> |
| #include<string> |
| struct Pizza { |
| std::string Company; |
| float diameter; |
| float weight; |
| }; |
| int main() |
| { |
| Pizza pizza; |
| std::cout << "\ncompany:"; |
| std::cin >> pizza.Company; |
| std::cout << "\ndiameter:"; |
| std::cin >> pizza.diameter; |
| std::cout << "\nweight:"; |
| std::cin >> pizza.weight; |
| std::cout << "pizza信息为:"; |
| std::cout << "\n公司:" << pizza.Company; |
| std::cout << "\n直径:" << pizza.diameter<<"cm"; |
| std::cout << "\n重量:" << pizza.weight << "g"; |
| return 0; |
| } |
-
- 相较于题目7,这里要求不是声明一个结构变量,改为用new来为结构分配内存。
- 代码:
| #include<iostream> |
| #include<string> |
| struct Pizza { |
| std::string Company; |
| float diameter; |
| float weight; |
| }; |
| int main() |
| { |
| Pizza *pizza = new Pizza; |
| std::cout << "\ndiameter:"; |
| std::cin >> pizza->diameter; |
| std::cout << "\ncompany:"; |
| std::cin >> pizza->Company; |
| std::cout << "\nweight:"; |
| std::cin >> pizza->weight; |
| std::cout << "pizza信息为:"; |
| std::cout << "\n公司:" << pizza->Company; |
| std::cout << "\n直径:" << pizza->diameter << "cm"; |
| std::cout << "\n重量:" << pizza->weight << "g"; |
| delete pizza; |
| return 0; |
| } |
| #include<iostream> |
| #include<string> |
| struct CandyBar { |
| std::string brand; |
| float heavy; |
| int calorie; |
| }; |
| int main() |
| { |
| using namespace std; |
| CandyBar *ca1 = new CandyBar; |
| CandyBar *ca2 = new CandyBar; |
| CandyBar *ca3 = new CandyBar; |
| CandyBar *cas[3] = { ca1,ca2,ca3 }; |
| for (int i = 0; i < 3; i++) { |
| std::cin >> cas[i]->brand; |
| std::cin >> cas[i]->calorie; |
| std::cin >> cas[i]->heavy; |
| } |
| for (int i = 0; i < 3; i++) { |
| std::cout << "\nBrand:" << cas[i]->brand; |
| std::cout << "\nHeavy:" << cas[i]->heavy; |
| std::cout << "\nCalorie:" <<cas[i]->calorie; |
| std::wcout << "\n___________"; |
| } |
| delete ca1, ca2, ca3,cas; |
| return 0; |
| } |
-
- 输入数据并且计算平均值与次数。使用array对象来存储数据。
- 代码:
| #include<iostream> |
| #include<array> |
| int main() |
| { |
| using namespace std; |
| array<float, 3>run; |
| float sum = 0; |
| for (int i = 0; i < 3; i++) |
| { |
| std::cout << "请输入第" << i+1 << "次的40米跑成绩:"; |
| std::cin >> run[i]; |
| sum += run[i]; |
| std::cout << "\a第" << i + 1 << "次40米跑成绩为" << run[i] << "s\n\n"; |
| std::cout << "前" << i+1 << "次平均成绩为:" << sum / (i + 1)<<"s\n\n"; |
| } |
| return 0; |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」