【牛客113题】C语言入门训练营第一讲1~6题(链接+题目+答案+解析)

本文提供了C语言编程的六道练习题,包括实践出真知、大V标志输出、整型数据占内存大小、缩短二进制表示、反向输出四位数和字母大小写转换等,每题附带题目描述、输入输出示例、答案及解析。

1.实践出真知

链接:Hello Nowcoder_牛客题霸_牛客网

题目

描述

于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”

输入描述

本题没有输入

输出描述

Practice makes perfect!

答案

#include<stdio.h>
int main()
{
    printf("Practice makes perfect!\n");
    return 0;
}

解析:

使用库函数printf
库函数printf应包含<stdio.h>

2.我是大V

链接:我是大V_牛客题霸_牛客网 (nowcoder.com)

题目

描述

每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。

输入描述

输出描述

v   v

 v v

  v

答案 

#include<stdio.h>
int main()
{
    printf("v   v\n v v\n  v");
    return 0;
}

解析: 

使用\n换行符号

3.有容乃大 

链接:有容乃大_牛客题霸_牛客网 (nowcoder.com)

题目

描述

确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。 

输入描述

输出描述

不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。输出样例如下:
The size of short is ? bytes.
The size of int is ? bytes.
The size of long is ? bytes.
The size of long long is ? bytes.

答案:

#include<stdio.h>
int main()
{
    printf("The size of short is %d bytes.\n", sizeof(short));
    printf("The size of int is %d bytes.\n", sizeof(int));
    printf("The size of long is %d bytes.\n", sizeof(long));
    printf("The size of long long is %d bytes.\n", sizeof(long long));
    return 0;
}

解析:

sizeof()求数据类型长度
sizeof是一个操作符和关键词

4.缩短二进制 

链接:缩短二进制_牛客题霸_牛客网 (nowcoder.com)

题目

描述

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

输入描述

输出描述

十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X

答案 

#include<stdio.h>
int main()
{
	printf("%#o %#X",1234, 1234);
	return 0;
}

解析

%o和%X或%x:转化为八进制和十六进制大写或小写

%#o和%#X或%#x:#表示有前导

5.反向输出一个四位数 

链接:反向输出一个四位数_牛客题霸_牛客网 (nowcoder.com)

题目

描述

将一个四位数,反向输出(倒着写)。

输入描述

一行,输入一个整数n(1000 <= n <= 9999)。

输出描述

针对每组输入,反向输出对应四位数。

答案 

#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    while(n)
    {
        printf("%d", n % 10);
        n = n / 10;    
    }

    return 0;
}

解析

利用ASC码值数字1~9对应的是字符1~9

6. 大小写转换

链接:大小写转换_牛客题霸_牛客网 (nowcoder.com)

题目

描述

实现字母的大小写转换。多组输入输出。

输入描述

多组输入,每一行输入大写字母。

输出描述

针对每组输入输出对应的小写字母。

 答案

#include<stdio.h>
int main()
{
	int ch = 0;
	while ((ch = getchar())!=EOF)
	{
		putchar(ch + 32);
		getchar();
		printf("\n");
	}

	return 0;
}

或 

#include<stdio.h>
int main()
{
	int ch = 0;
	while ((ch = getchar() )!= EOF)
	{
		getchar();
        printf("%c\n",ch + 32);
	}
	return 0;
}

解析

getchar:拿取第一个字符转换为对应的ASCII值

getchar的返回值为读取到的字符

ch = getchar())!=EOF意思是getchar拿到的是字符就为真

putchar:把数字转换为字符,并输出

printf上面的getchar是把多余的空格取掉

此题利用小写字母的ASCII值是大写的加32

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值