7-1 闰年 (10分)

7-1 闰年 (10分)
闰年判断,规则是能被4整除但不能被100整除或者能被400整除的年份是闰年。

输入格式:
输入一个整数代表年份。

输出格式:
判断每个年份,若年份是闰年输出YES,否则输出NO。

输入样例:
在这里给出一个整数,代表 年份。例如:

2018

输出样例:
在这里给出相应的输出。例如:

NO
#include<stdio.h>
int main() {
	int m;
	scanf("%d",& m);
	if (m%400 ==0||m%4==0&&m%100!=0) //m%n表示m除以n后所得的余数,||表示或,&&表示同时
		printf("YES");
	else
		printf("NO");
	return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是C++代码实现小型计算器,可以实现你所列出的所有功能: ```c++ #include<iostream> #include<cmath> using namespace std; // 计算器函数定义 void calculator() { int choice; int num1, num2; while (true) { cout << "\n请选择要进行的操作:" << endl; cout << "1.加法" << endl; cout << "2.减法" << endl; cout << "3.乘法" << endl; cout << "4.除法" << endl; cout << "5.取模运算" << endl; cout << "6.判断数字的位数" << endl; cout << "7.计算圆面积" << endl; cout << "8.判断闰年" << endl; cout << "9.成绩转换" << endl; cout << "10.计算从1到输入数之间的奇数和" << endl; cout << "11.计算从1到输入数之间的偶数和" << endl; cout << "12.输出从1到输入数之间所有3的倍数" << endl; cout << "13.求即被3整除又被5整除的数" << endl; cout << "14.求水仙花数" << endl; cout << "15.求最大值" << endl; cout << "16.求最大最小值" << endl; cout << "17.数组-冒泡排序" << endl; cout << "18.数组-矩阵转置" << endl; cout << "19.数组-求矩阵对角线和" << endl; cout << "20.统计单词输入个数" << endl; cout << "21.静态创建链表" << endl; cout << "22.动态创建链表" << endl; cout << "23.学生成绩排序" << endl; cout << "24.学生成绩普涨10分" << endl; cout << "25.退出" << endl; cin >> choice; switch (choice) { case 1: cout << "请输入两个数:" << endl; cin >> num1 >> num2; cout << "两数之和为:" << num1 + num2 << endl; break; case 2: cout << "请输入两个数:" << endl; cin >> num1 >> num2; cout << "两数之差为:" << num1 - num2 << endl; break; case 3: cout << "请输入两个数:" << endl; cin >> num1 >> num2; cout << "两数之积为:" << num1 * num2 << endl; break; case 4: cout << "请输入两个数:" << endl; cin >> num1 >> num2; if (num2 == 0) { cout << "除数不能为0,请重新输入!" << endl; break; } cout << "两数之商为:" << num1 / num2 << endl; break; case 5: cout << "请输入两个数:" << endl; cin >> num1 >> num2; if (num2 == 0) { cout << "除数不能为0,请重新输入!" << endl; break; } cout << "两数取模运算的结果为:" << num1 % num2 << endl; break; case 6: cout << "请输入一个整数:" << endl; cin >> num1; cout << "该整数的位数为:" << to_string(num1).length() << endl; break; case 7: cout << "请输入半径:" << endl; cin >> num1; cout << "圆的面积为:" << 3.14 * pow(num1, 2) << endl; break; case 8: cout << "请输入一个年份:" << endl; cin >> num1; if ((num1 % 4 == 0 && num1 % 100 != 0) || (num1 % 400 == 0)) { cout << num1 << "年是闰年!" << endl; } else { cout << num1 << "年不是闰年!" << endl; } break; case 9: cout << "请输入成绩:" << endl; cin >> num1; if (num1 >= 90 && num1 <= 100) { cout << "A" << endl; } else if (num1 >= 80 && num1 < 90) { cout << "B" << endl; } else if (num1 >= 70 && num1 < 80) { cout << "C" << endl; } else if (num1 >= 60 && num1 < 70) { cout << "D" << endl; } else if (num1 >= 0 && num1 < 60) { cout << "E" << endl; } else { cout << "输入成绩有误!" << endl; } break; case 10: cout << "请输入一个整数:" << endl; cin >> num1; cout << "从1到" << num1 << "之间的奇数和为:" << (num1 + 1) / 2 * (num1 % 2) + num1 / 2 * ((num1 + 1) % 2) << endl; break; case 11: cout << "请输入一个整数:" << endl; cin >> num1; cout << "从1到" << num1 << "之间的偶数和为:" << num1 / 2 * 2 * (num1 % 2) + (num1 + 1) / 2 * ((num1 + 1) % 2) << endl; break; case 12: cout << "请输入一个整数:" << endl; cin >> num1; cout << "从1到" << num1 << "之间所有3的倍数为:"; for (int i = 3; i <= num1; i += 3) { cout << i << " "; } cout << endl; break; case 13: cout << "请输入一个整数:" << endl; cin >> num1; cout << "即被3整除又被5整除的数为:"; for (int i = 15; i <= num1; i += 15) { cout << i << " "; } cout << endl; break; case 14: cout << "所有的水仙花数为:"; for (int i = 100; i <= 999; i++) { int a = i / 100; int b = i / 10 % 10; int c = i % 10; if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) { cout << i << " "; } } cout << endl; break; case 15: cout << "请输入两个数:" << endl; cin >> num1 >> num2; cout << "最大值为:" << max(num1, num2) << endl; break; case 16: cout << "请输入三个数:" << endl; cin >> num1 >> num2 >> num2; cout << "最大值为:" << max(max(num1, num2), num3) << endl; cout << "最小值为:" << min(min(num1, num2), num3) << endl; break; case 17: int arr[10]; cout << "请输入10个数:" << endl; for (int i = 0; i < 10; i++) { cin >> arr[i]; } for (int i = 0; i < 9; i++) { for (int j = 0; j < 9 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } cout << "排序后的数组为:"; for (int i = 0; i < 10; i++) { cout << arr[i] << " "; } cout << endl; break; case 18: int matrix[2][3]; cout << "请输入一个2*3的矩阵:" << endl; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { cin >> matrix[i][j]; } } cout << "矩阵转置后为:" << endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) { cout << matrix[j][i] << " "; } cout << endl; } break; case 19: int matrix1[3][3]; cout << "请输入一个3*3的矩阵:" << endl; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { cin >> matrix1[i][j]; } } int sum = 0; for (int i = 0; i < 3; i++) { sum += matrix1[i][i]; } cout << "矩阵对角线和为:" << sum << endl; break; case 20: string s; cout << "请输入一段英文文本:" << endl; getline(cin, s); int count = 0; for (int i = 0; i < s.length(); i++) { if (s[i] == ' ') { count++; } } cout << "单词个数为:" << count + 1 << endl; break; case 21: struct Node { int data; Node* next; }; Node* head = new Node; head->next = NULL; cout << "请输入链表长度:" << endl; cin >> num1; cout << "请输入链表元素:" << endl; for (int i = 0; i < num1; i++) { Node* p = new Node; cin >> p->data; p->next = head->next; head->next = p; } cout << "链表为:"; Node* p = head->next; while (p) { cout << p->data << " "; p = p->next; } cout << endl; break; case 22: struct Node1 { int data; Node1* next; }; Node1* head1 = new Node1; head1->next = NULL; Node1* p1 = head1; cout << "请输入链表元素,输入0结束输入:" << endl; while (true) { Node1* q = new Node1; cin >> q->data; if (q->data == 0) { break; } q->next = NULL; p1->next = q; p1 = q; } cout << "链表为:"; Node1* q1 = head1->next; while (q1) { cout << q1->data << " "; q1 = q1->next; } cout << endl; break; case 23: struct Student { string name; int score; }; Student stu[3]; cout << "请输入3个学生的姓名和成绩:" << endl; for (int i = 0; i < 3; i++) { cin >> stu[i].name >> stu[i].score; } for (int i = 0; i < 2; i++) { for (int j = 0; j < 2 - i; j++) { if (stu[j].score < stu[j + 1].score) { Student temp = stu[j]; stu[j] = stu[j + 1]; stu[j + 1] = temp; } } } cout << "按照成绩从高到低排序后的学生信息为:" << endl; for (int i = 0; i < 3; i++) { cout << "姓名:" << stu[i].name << ",成绩:" << stu[i].score << endl; } break; case 24: int score[3]; cout << "请输入3个学生的成绩:" << endl; for (int i = 0; i < 3; i++) { cin >> score[i]; score[i] += 10; } cout << "加分后的学生成绩为:" << endl; for (int i = 0; i < 3; i++) { cout << score[i] << " "; } cout << endl; break; case 25: cout << "退出程序!" << endl; exit(0); default: cout << "输入有误,请重新输入!" << endl; break; } } } int main() { calculator(); return 0; } ``` 运行程序后,根据菜单提示选择相应的功能即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值