小皮怎么创建网站,wordpress主题配置,天津建设工程信息网如何注册,东营交通信息网官网一、C语言刷题
预处理命令模块的题目就只有几个#xff0c;下面开始选择结构这个模块的题目。
1、MT1112中庸之道
请编写一个简单程序#xff0c;输入3个整数#xff0c;比较他们的大小#xff0c;输出中间的那个数
格式
输入格式#xff1a;
输入整型#xff0c;空…一、C语言刷题
预处理命令模块的题目就只有几个下面开始选择结构这个模块的题目。
1、MT1112中庸之道
请编写一个简单程序输入3个整数比较他们的大小输出中间的那个数
格式
输入格式
输入整型空格分隔
输出格式
输出整型
样例 1
输入
1 5 3输出
3
解决思路
本题最基本的方法就是使用选择语句的嵌套解决下面是分析过程 实现代码
#includebits/stdc.h using namespace std;void cmp(int a,int b,int c){if(ab){if(bc){cout b;}else{if(ac){cout c;}else{cout a;}}}else{if(bc){cout b;}else{if(ac){cout c;}else{cout b;}}}
}
int main( )
{int a,b,c;scanf(%d %d %d,a,b,c);cmp(a,b,c);return 0;
}
感悟
刚开始写代码的时候遇到某些需要思考的题目如果思维能力不是很强的话最好那是拿出纸和笔画一画、写一写不要一味的想。对于我自己来说拿到一个问题的时候刚开始可能有很清晰的思路但是偶尔被打断或者自己越想越觉得漏洞百出导致整个思维变得很乱而我也不懒得拿出纸和笔慢慢思考就导致放弃很快最终的结果就是啥也不会。所以我现在就吸取了这个教训有什么稍微绕一点的问题我就会在纸上画画这样思路真的会清晰很多。所以一定要自己画一定要动手。 2、MT1116正整数
判断n是否为两位数的正整数
格式
输入格式
输入为整型n
输出格式
是则输出YES否则输出NO
样例 1
输入
11输出
YES
分析过程
看到这个题目的时候我的思路
满足两位数的正整数的两个条件 1、该数a大于0 2、a/10记count初值为0最终值为2 所以按照这个思路我就写了如下代码
#includebits/stdc.h using namespace std;void judge(int n){int count 0;if(n 0){ while(n ! 0){count;n/10; }//cout count;if(count 2){cout YES;}}
}
int main( )
{int n;cin n;judge(n);return 0;
}
我觉得这个思路没有什么错误但是编译的时候只能通过两个用例 那么为什么会出错呢就是因为的我的粗心大意一心想着怎么满足这个题目要求能让它成为“YES”但是忽略了“NO”除此之外我在写循环的时候忘了把n的值一起改变了我还在想为什么会编译错误。这些错误在编程的过程中都不该出现的这次出现了就当长个教训吧。
实现代码
#includebits/stdc.h using namespace std;
/*满足两位数的正整数满足两个条件
1、该数a大于0
2、a/10记count初值为0最终值为2
*/
void judge(int n){int count 0;if(n 0){while(n ! 0){count;n/10;}//cout count;if(count 2){cout YES;}else{cout NO;}}else{cout NO;}
}
int main( )
{int n;cin n;judge(n);return 0;
}
3、MT1117两个负数
判断x、y、z中是否有两个负数。
格式
输入格式
输入为整型x、y、z空格分隔
输出格式
是则输出YES否则输出NO
样例 1
输入
1 2 3输出
NO
分析过程
最简单的办法就是三个分别去判断是否小于0如果有两个小于0的就输出“YES”在此过程中一定要考虑到0的特殊情况只要有两个小于0那么不管另一个是0还是大于0都满足条件而我第一次写的时候忽略了这一点导致只通过了两个用例。
错误示范如下
#includebits/stdc.h using namespace std;void judge(int x,int y,int z){int count 0;if(x 0){if(y 0){if(z 0){cout YES;}else cout NO;}else{if (z 0){cout YES;}else cout NO;}}else{if(y 0){if(z 0){cout YES;}else cout NO;}else cout NO;}
}
int main( )
{int x,y,z;scanf(%d %d %d,x,y,z);judge(x,y,z);return 0;
} 错误出现在0这个特殊位置修改之后就成功通过了。 实现代码
#includebits/stdc.h using namespace std;void judge(int x,int y,int z){int count 0;if(x 0){if(y 0){if(z 0){cout YES;}else cout NO;}else{if (z 0){cout YES;}else cout NO;}}else{if(y 0){if(z 0){cout YES;}else cout NO;}else cout NO;}
}
int main( )
{int x,y,z;scanf(%d %d %d,x,y,z);judge(x,y,z);return 0;
}
这是最基本的方法当然在此基础上可以修改就比如说可以使用、||等这些 逻辑运算符解决代码行数会大大减少。
例如
#includebits/stdc.h using namespace std;void judge(int x,int y,int z){int count 0;if(x0y0z0 || x0y0z0 || x0y0z0){cout YES;}else{cout NO;
}
int main( )
{int x,y,z;scanf(%d %d %d,x,y,z);judge(x,y,z);return 0;
}
一定要注意0这个特殊情况 明天继续吧。