小码哥抛出一个六面骰子。每个面上都印有一个数字,数字在1到6之间。输入正面的数字,输出对面的数字。 其他情况输出-1。
输入格式:
输入为整型
输出格式:
输出为整型
输入:
6
输出:
1
6点的对面是1点,2点的对面是5点,3点的对面是4点。
骰子的展开图如下:
?已知了关于骰子对立面的对应的点数之后,这个题目就没什么难度了
#include<bits/stdc++.h>
using namespace std;
//6点的对面是1点,2点的对面是5点,3点的对面是4点。
void OP(int a){
switch(a){
case 1:cout << 6;break;
case 2:cout << 5;break;
case 3:cout << 4;break;
case 4:cout << 3;break;
case 5:cout << 2;break;
case 6:cout << 1;break;
}
}
int main( )
{
int a;
cin >> a;
if(a >= 1 && a <= 6){
OP(a);
}else{
int b = -1;
cout << b;
}
return 0;
}
输入一个字符,判断是数字字符、大写字母、小写字母、算术运算符、关系运算符、逻辑运算符,还是其他字符,分别输出“Number”,“Capital letter”,“Lowercase letter”,“Arithmetic operators”, “Relational operators”, “Logical operators”, “Other character”。
输入格式:
输入一个字符
输出格式:
输出字符
输入:
A
输出:
Capital letter
算术运算符: + - * /
关系运算符: = > <
逻辑运算符: ! & | ^
主要记住备注的这三个,其他都是常见的,大概率没什么问题。
#include<bits/stdc++.h>
using namespace std;
void judge(char a){
if(a>='1'&&a<='9'){
cout << "Number";
}else
if(a>='A'&&a<='Z'){
cout << "Capital letter";
}else
if(a>='a'&&a<='z'){
cout << "Lowercase letter";
}else
if(a=='+'||a=='-'||a=='*'||a=='/'){
cout << "Arithmetic operators";
}else
if(a=='='||a=='>'||a=='<'){
cout << "Relational operators";
}else
if(a=='!'||a=='&'||a=='|'||a=='^'){
cout << "Logical operators";
}else{
cout << "Other character";
}
}
int main( )
{
char a;
cin >> a;
judge(a);
return 0;
}
输入一个金额,输出对应的人民币大写数字(零壹贰叁肆伍陆柒捌玖拾)。不考虑负数等不合理的输入。
输入格式:
输入为整型(<100)
输出格式:
输出字符
输入:
35
输出:
叁拾伍元整
首先写一个函数,将数字转换成大写的数字,然后在主函数中分情况进行讨论,分为三种情况,输入的整数为0;输入的整数大于等于1且小于等于10;输入的数大于十。对于前两种直接输出大写数字,然后在后面加上“元整”;而大于10小于100的数字就需要考虑个位和十位的数据,个位的数是通过输入数与10求余得到的,十位的数字是通过除以10得到的。然后注意在十位数后加上“拾”,在个位数后面加上“元整”就行了。
按照这个思路,刚开始写的代码如下:
#include<bits/stdc++.h>
using namespace std;
void judge(int a){
switch(a){
case 1:cout << "壹";break;
case 2:cout<<"贰";break;
case 3:cout<<"叁";break;
case 4:cout<<"肆";break;
case 5:cout<<"伍";break;
case 6:cout<<"陆";break;
case 7:cout<<"柒";break;
case 8:cout<<"捌";break;
case 9:cout<<"玖";break;
case 10:cout<<"拾";break;
}
}
int main( )
{
int a;
cin >> a;
if(a == 0){
cout << "零元整";
}else
if(a>=1 && a<=10){
judge(a);
cout << "元整";
}
else{
int b = a/10,c = a%10;
if(c==0) {
judge(b);
cout << "拾元整";
}
else {
judge(b);
cout << "拾" ;
judge(c);
cout << "元整";
}
}
return 0;
}
?但是写完之后,发现并没有必要把0分出来,可以直接在函数中写上去,于是,得到了下面的代码.。
#include<bits/stdc++.h>
using namespace std;
void judge(int a){
switch(a){
case 0:cout << "零";break;
case 1:cout << "壹";break;
case 2:cout<<"贰";break;
case 3:cout<<"叁";break;
case 4:cout<<"肆";break;
case 5:cout<<"伍";break;
case 6:cout<<"陆";break;
case 7:cout<<"柒";break;
case 8:cout<<"捌";break;
case 9:cout<<"玖";break;
case 10:cout<<"拾";break;
}
}
int main( )
{
int a;
cin >> a;
if(a>=0 && a<=10){
judge(a);
cout << "元整";
}
else{
int b = a/10,c = a%10;
if(c==0) {
judge(b);
cout << "拾元整";
}
else {
judge(b);
cout << "拾" ;
judge(c);
cout << "元整";
}
}
return 0;
}
明天继续吧。