LHL计算机程序设计(C++) 第2周中级练习

LHL计算机程序设计(C++)

第2周中级练习

加密(10分)
题目内容:

输入4字符的单词(小写),将每个字母转换为其在字母表中的序号(00-25)输出(不够两位的前面补0)。例如,输入atom,输出00191412

输入格式:

连续的四个小写字母,表示一个4字母单词。

输出格式:

8个0-9的数字,中间无空格。

输入样例:

atom

输出样例:

00191412

提示:输出,用 <条件>?<表达式1>:<表达式2>。

LHL的代码

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{

    char a[5];
    scanf("%s",a);
    int i;
    for(i=0;i<4;i++)
    {
    	printf("%02d",a[i]-'a');
	}
    
	return 0;
}

解密(10分)
题目内容:

一个8位的整数。它的每两位代表一个字母在字母表中的序号(00-25),编写程序,输入一个8位的整数(不够8位的前面补0),按上述规则将其转换为一个四字母的单词。例如输入01112004,输出blue。

输入格式:

8位整数。

输出格式:

四字母单词。

输入样例:

01112004

输出样例:

blue

LHL的代码

#include<stdio.h>
#include<string.h>
#include<ctype.h>

int main()
{
      int i;
    char a[5];
    for(i=0;i<4;i++)
    {
    	scanf("%c%c",&a[0],&a[1]);
    	if(a[0]=='0')
    	printf("%c",'a'+a[1]-'0');
    	else
    	printf("%c",'a'+(a[0]-'0')*10+a[1]-'0');
	}
    
	return 0;
}

3压缩存储(10分)
题目内容:

使用一个int变量(一般为4字节),保存4个均不超过255的非负整数,输出这个int变量的值。例如输入 1 2 3 4,输出16909060。

输入格式:

4个不超过255的非负整数,中间用空格隔开。

输出格式:

一个整数。四个整数放在一个int变量中,当一个整数看待的值。

输入样例:

1 2 3 4

输出样例:

16909060

技巧提示:使用移位运算。

时间限制:500ms内存限制:32000kb

LHL的代码

#include<iostream>
using namespace std;

int main()
{
    int a,b,c,d,s;
    cin>>a>>b>>c>>d;
    a=a<<24;
    b=b<<16;
    c=c<<8;
    s=a+b+c+d;
    cout<<s;
    return 0;
}

4石头剪刀布(10分)
题目内容:

石头、剪刀、布分别用1,2,3表示。输入数字,输出相应的词,如果输入的数不是1,2,3,输出“不认识”。

输入格式:

整数

输出格式:

“石头”、“剪刀”、"布"或"不认识"四个词之一。

输入样例:

1

输出样例:

石头

技巧提示:表示文字,使用

char shitou[10]=“石头”;

输出:cout<<shitou;

判断,用 <条件>?<表达式1>:<表达式2>

时间限制:500ms内存限制:32000kb

LHL的代码

#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<iostream>
using namespace std;
int main()
{
      int n;
      cin>>n;
      if(n==1)
      cout<<"石头";
      else if(n==2)
      cout<< "剪刀";
      else if(n==3)
      cout<<"布";
      else
      cout<<"不认识";
	return 0;
}

5排排坐分果果(10分)
题目内容:

有10个人围坐一桌,10个人的编号为1-10,指定一个人a开始,再指定一个数k,从a为1往下数,每数到k,就给这个人发一个糖果,然后再从下一个人开始从1数到k,再发一个糖果(循环往复)。例如从2号人开始,k为3则4号为分到糖果的人,再往下数7号为分到糖果的人,再往下数10号为分到糖果的人。

编写程序,输入起始人的编号和k,输入前四个分到糖果的人。例如输入2 3,输出4 7 10 3

输入格式:

两个正整数,中间用空格隔开。第1个数的范围为1-10。

输出格式:

输出,4个整数,用一个空隔开,末尾无空格。

输入样例:

2 3

输出样例:

4 7 10 3

提示:考虑%运算符的使用。

LHL的代码

#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<iostream>
using namespace std;
int main()
{
      int n,i,j,k=0,l,m;
      int a[11];
      int f=0;
      for(i=0;i<11;i++)
      a[i]=1;
      scanf("%d %d",&n,&m);
      for(i=n-1;f<4-1;1)
      {
      	   
      	i=(i+m)%10;
      	if(a[i]!=0)
      	{
      		if(i==0)
      		printf("%d ",10);
      		else
      		printf("%d ",i);
      		a[i]=0;
      		f++;
		}
      	
	  }
	  while(1)
      {
      	   
      	i=(i+m)%10;
      	if(a[i]!=0)
      	{
      		if(i==0)
      		printf("%d",10);
      		else
      		printf("%d",i);
      		a[i]=0;
      		f++;
      		break;
		}
      	
	  }
	return 0;
}

发布了33 篇原创文章 · 获赞 14 · 访问量 635

猜你喜欢

转载自blog.csdn.net/Simple_questions/article/details/104971862