21.11.28

目录

1.oj9(循环)数字反转

2.oj10(循环)敲七

3.oj11.(循环)杨老师6班测试


1.oj9(循环)数字反转

给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零

输入

输入共 1 行,一个整数N。

-1,000,000,000 ≤ N≤ 1,000,000,000。

输出

输出共 1 行,一个整数,表示反转后的新数。

样例输入

123

-380

样例输出

321

-83

#include<iostream>
using namespace std;
int main() {
	int n, sum = 0;
	cin >> n;
        /*  if(n<0)
		 *  {
		 *  cout << '-';        //!!! 可以提前输出
	     *  n = - n;            //取正
	     *  }
	     */
	while (n) {
		sum = sum * 10 + n % 10;//-1%10==-1 负数取模还是负数
		n /= 10;
	}
		/*  int a = n % 10;
		 *  sum += a;
		 *  sum *= 10;
	     *  }
	     *  sum /= 10;
	     */
	cout << sum << endl;      //cout 自动去零(十进制前没有零)
	return 0;
}

olol   /*  if(n<0)
         *  {
         *  cout << '-';        //!!! 可以提前输出
         *  n = - n;            //取正
         *  }
         */

效果等价于

          //-1%10==-1 负数取模还是负数

——————————————————

        while(n){       

         /*  int a = n % 10;
         *  sum += a;
         *  sum *= 10;
         *  }
         *  sum /= 10;
         */

可简化为

        sum = sum * 10 + n % 10;

2.oj10(循环)敲七

输出7和7的倍数,还有包含7的数字。例如(17,27,37...70,71,72,73...)

输入

一个整数N。(N不大于30000)

输出

从小到大排列的不大于N的与7有关的数字,每行一个。

#include<iostream>
using namespace std;
int main() {
	int n,s,j;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		s = 0;					//计数器归零
		j = i;					//j i 检查代码注意变量值是否变化
		while (!(j == 0)) {
			if (j % 10==7)		//一个数a有某个数x
								//for
								//计数器(!归零位置)
								// a%10==x
								// a/=10
				s++;
			j /= 10;
		}
		if (!(i%7) || s)
			cout << i << endl;
	}
	return 0;
}

3.oj11(循环)杨老师6班测试

输入n,输出一个n*n的正方形,正方形由符号c1和c2组成,正方形的四条边和对角线由c1组成,其余部分由c2组成。

输入

一行一个整数,两个符号,分别以一个空格隔开。

输出

如题所述的正方形。

样例输入

10 x o

样例输出

XXXXXXXXXX
XXOOOOOOXX
XOXOOOOXOX
XOOXOOXOOX
XOOOXXOOOX
XOOOXXOOOX
XOOXOOXOOX
XOXOOOOXOX
XXOOOOOOXX
XXXXXXXXXX
#include<iostream>
using namespace std;
int main() {
	int n;
	char a, b;
	cin >> n >> a >> b;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			if (i == 1 || i == n || j == 1 || j == n|| j==i||j+i-1==n)
				cout << a;
			else
				cout << b;
		}
		cout << endl;
	}
	return 0;
}

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值