栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

牛客网刷题1

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

牛客网刷题1

目录

1、BC12 字符圣诞树

2、判断是否为字符(其中有说,判断函数的库函数isalpha(),)

3、一组数字转换为ASCII码

4、2的n次方计算(移位运算


1、BC12 字符圣诞树

描述

输入一个字符,用它构造一个边长为5的三角形圣诞树。

数据范围:保证输入的字符是一个 char 类型的值

输入描述:

输入只有一行,一个字符。

输出描述:

该字符构成的三角形圣诞树。

#include 
int main(){
	char x;
	scanf("%c",&x);
	for(int i=1;i<=5;i++){
		for(int j=5-i;j>0;j--){
			printf(" ");
			
		}
		for(int m=1;m<=i;m++)
			printf("%c ",x);
			printf("n");
	}
}

我觉得强的就是按照规律,利用了for语句,要小心的就是for语句的大括号应该怎么括内容,这个方法是真的好,一行一行去考虑比整个去考虑要好理解。

2、判断是否为字符(其中有说,判断函数的库函数isalpha(),) 描述

从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。

输入描述:

输入包括一个字符。

输出描述:

输出该字符是字母(YES)或不是(NO)。

实例:

输入 H

输出 YES

#include
int main()
{
    int ch = 0;
    while ((ch = getchar()) != EOF)
   {        if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
        {
            printf("YESn");
       }
       else
        {
           printf("NOn");
       }
        getchar();
    }
 return 0;
}

 这里getchar()是为了处理n,如果不加就会出现下面的情况

 因为空格也是字符,在你敲键盘的时候。所以有两个结果。


还可以利用库函数isalpha(),来判断是否为字符,首先看一下isalpha()函数的用法条件

要加头文件 

#include
#include
int main()
{
    int ch = 0;
    while ((ch = getchar()) != EOF)
    {
        if (isalpha(ch))//加头文件ctype.h
        {
            printf("YESn");
        }
        else
        {
            printf("NOn");
        }
        getchar();//如果不加的话,那输入字符就带人空格
        //了,也可以读入空格那结果就翻倍了,所以这个要加一个读入空格字符
    }
    return 0;
}

这个的EOF是getchar()函数失败的结果。

3、一组数字转换为ASCII码 描述

给定一组数,73,32,99,97,100,32,100,111.

输出相应的ASCII码。

输入描述:

一组数

输出描述:

ASCII码

实例:

输入 无

输出  I cad do

#include
int main()
{
	int arr[] = { 73,32,99,97,100,32,100,111 };
	int sc = sizeof(arr) / sizeof(arr[0]);
	for (int i = 0; i < sc; i++)
	{
		printf("%c", arr[i]);
	}
	return 0;
}

这个巧妙的是利用总字节除于第一个字符的字节得到数组中字符的个数

int sc = sizeof(arr) / sizeof(arr[0]);

4、2的n次方计算(移位运算)

描述:

不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算

数据范围:0 le n le 31 ≤n≤31 

输入描述:

一行输入整数n(0 <= n < 31)。

输出描述:

输出对应的2的n次方的结果。

实例:

输入:2

输出:4

#include
int main()
{
    int n=0;
    while((scanf("%d",&n))!=EOF)
    {
        printf("%d",1< 

这里要讲到这个移位运算       

怎么说呢?就是一个让它在位上移动(移动的是2进制的位),用一个例子来说明吧!                                                                                   

 

 开学几天,寒假本来说练题,然后有点玩过头了,我的笔记还没带,年前练的,感觉都忘得差不多了,哎,刚开学,数据库,计组,单片机刚开始让我觉得有点....,罢了 还是慢慢来吧!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743691.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号