某数组含有N个元素,输出那些数字来自集合{4,5,6}的元素,按原序。没有就输出-1。
输入格式:
第一行输入数组长度N,第二行输入数组元素,整型,空格分隔。
输出格式:
输出整型,空格分隔。
输入:
4 1 2 3 4
输出:
4
刚开始,我是尝试了一下将满足{4,5,6}的元素存入b[i](b[i]初始化为全0)中,然后判断b[i]不为0的元素并输出。
#include
using namespace std;
int main( )
{
int N,temp,flag = 0;
cin >> N;
int i,j;
int a[N-1],b[N-1]={0};
for(int i=0;i> a[i];
}
//首先判断a[N-1]中是否有{4,5,6}中的数字,如果有存入b[N-1]中
for(int i=0;i
但是后面发现不需要想得那么复杂,题目要求原序输出是按照输入的数组中的数组输出,而不是按照4,5,6的顺序输出,所以在输入之后直接判断是否是4,5,6,如果是就直接输出即可,所以,不需要我刚开始想的那么复杂,最后,要注意的是输出的-1是整型,而不是字符型,我的前面的代码是可以实现的,但是我把-1设成了字符型,所以错了,修改之后就可以通过全部用例了。最终得到的代码如下:
#include
using namespace std;
int main( )
{
int N,flag = 0;
cin >> N;
int a[N-1];
for(int i=0;i> a[i];
}
//首先判断a[N-1]中是否有{4,5,6}中的数字
for(int i=0;i
审题的时候需要仔细一点,我刚开始审题的时候就审错了,还以为是看数组是否是顺序,如果是就输出数组中元素的个数,结果第二次审题才发现,是让查看数组中哪些元素来自{4,5,6},然后输出来。
输入正整数N,将N的所有零转换为5。没有0就原样输出。不考虑不合理的输入等特殊情况。
输入格式:
输入正整数N
输出格式:
输出整型
输入:
5002
输出:
5552
首先判断输入值的位数,然后将输入值存入字符数组当中,然后从后往前查看字符数组的每个元素是否为0,是0的话就转换为5,不为0直接输出。
#include
using namespace std;
int main( )
{
int N,count=0;
cin >> N;
int a=N;
while(a!=0){
count++;
a/=10;
}
// cout << count;
int b[10];
for(int i=0;i=0;i--){
if(b[i]==0){
cout << 5;
}else{
cout << b[i];
}
}
return 0;
}
输出华氏温度F(-50<=F<200)和摄氏温度C对照表,其计算公式为C=9(F−32)/5。不考虑非法输入等特殊情况。
输入格式:输入华氏温度F为整型
输出格式:输出摄氏温度C为实型
输入样式:
-50
输出样式:
-147.600000
本题相关知识点: 语言基础:公式与计算
#include
int main()
{
int F;
double C;
scanf("%d",&F);
C = (double)9 * (F - 32)/5;//注意此处要将答案强制转化为double型,否则依旧会出错。
printf("%lf",C);
return 0;
}
注意点:1、scanf后面必须有&(地址符);
2、最终的结果要求是C为实型,所以必须强制转换过来,不然输出的答案会自动取舍;
3、double型输出(printf)时用%lf还是%f都行。
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
九进制正整数(2022)9 转换成十进制等于多少?
最大运行时间:1s
最大运行内存: 512M
#include
using namespace std;
int main()
{
// 请在此输入您的代码
cout << 2*1 + 2*9 + 0*81 + 2*81*9;
return 0;
}
本题实质上是考察了其他进制转十进制这个运算,对于整数部分,运算过程就是从所给整数个位开始,乘以所给整数的进制数的0次方,然后加上十位数乘以所给进制数的1次方,依次向上计算,直至全部计算完毕。例如:所给整数2022,对应进制数九进制,所以计算过程为2*9^0 + 2*9^1 + 0*9^2 + 2*9^3,然后计算得到结果即可。
明天继续吧。