C语言——每周刷题题集(第一周)
创始人
2024-04-22 06:53:52

前言

做题可以更好地巩固所学知识,并加深对于知识点的理解。下面题目均来自牛客网入门编程练习题。

第一题: BC8 十六进制转十进制

描述:

BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。

输入描述:

输出描述:

十六进制整数ABCDEF对应的十进制整数,所占域宽为15

本题知识点:

1、进制输出格式的占位符(%d为输出十进制整数、%o为输出八进制整数、%x为输出十六进制整数)。
2、域宽是用来控制输入输出的格式的,语法格式为:“%md”,这里的m为任意整数。

代码部分

#include int main(){int a = 0XABCDEF;printf("%15d",a);
}

补充:当进行十进制转换成16进制输出时,可以使用 '#'来控制标准的输出格式:即"%#x"。

第二题: BC9 printf的返回值

描述

KiKi写了一个输出“Hello world!”的程序,BoBo老师告诉他printf函数有返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗?

输入描述:

输出描述:

包括两行:
第一行为“Hello world!”
第二行为printf(“Hello world!”)调用后的返回值。

本题知识点:

1、printf()函数的返回值类型为int。
2、 printf()函数会返回输出在屏幕上字符的个数。所以,本题需要注意 ’ \n '的使用。

//方法一
#include int main() 
{int ret = printf("Hello world!");printf("\n");printf("%d\n",ret);return 0;
}
//方法二
#include int main() 
{printf("\n%d\n",printf("Hello world!"));return 0;
}

在这里插入图片描述

printf(“\n%d\n”,printf(Hello world!"),这段代码现代用了’,'表达式左边的printf,因为左边的printf调用了,右边printf()的返回值。所以屏幕上先输出Hello world!后,换行输出 , 右边printf函数的返回值

本题的写法有多种,这里我就简单的举两个例子。

第三题: BC11 学生基本信息输入输出

描述

依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。

数据范围:学号满足 1 <= 20000000 <= 20000000 ,各科成绩使用百分制,且不可能出现负数

输入描述:

学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。

输出描述:

学号,3科成绩,输出格式详见输出样例。

示例一:

输入:17140216;80.845,90.55,100.00
输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.

示例二:

输入:123456;93.33,99.99,81.20
输出:The each subject score of No. 123456 is 93.33, 99.99, 81.20.

本题知识点:

1、注意输入格式中的符号。
2、浮点数输出格式为输出小数点后2位,即"%.2f"。浮点数控制输出位数的语法为:“%.mf” 或
“%.mlf”,m为任意整数。

#include int main() 
{int ID = 0;float score1= 0.0f;float score2= 0.0f;float score3= 0.0f;scanf("%d;%f,%f,%f",&ID, &score1,&score2,&score3);printf("The each subject score of No. %d is %.2f, %.2f, %.2f.\n",ID,score1,score2,score3);return 0;
}

第四题: BC19 反向输出一个四位数

描述:

将一个四位数,反向输出。

输入描述:

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

输出描述:

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

示例一:

输入:1234
输出:4321

本题知识点:

通过循环,运用% 和 /取出每一位的值。
在这里插入图片描述

本题代码:

int main() 
{int n = 0;scanf("%d", &n);while(n > 0){printf("%d",n % 10);n /= 10;}printf("\n");return 0;
}

第五题: BC28 大小写转换

描述

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

输入描述:

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

输出描述:

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

示例一

输入:A
输出:a

本题知识点:

1、根据题目要求,需要多组输入。
2、需要知道char类型的变量本质是ASCII码值
3、因为 'A’的ASCII码值为65,小写 'a’的ASCII码值为97,所以大小写的ASCII码值的差是32。
4、需要注意的是清空缓存区的回车字符

#include int main()
{char ch =0;while ((ch = getchar()) != EOF)//多组输入{getchar();//清空缓存区的回车字符if(ch >= 'A' && ch <='Z')printf("%c\n",ch+32);else if(ch >= 'a' && ch <= 'z')printf("%c\n",ch -32);elseprintf("请输入字母\n");}return 0;
}

第六题: BC29 2的n次方计算

描述

不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
数据范围:(0 <= n < 31)

输入描述:

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

输出描述:

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

本题知识点:

1、本题考察的是左移位操作符的使用,左移操作指的是移动内存中的补码,左移一位最高位的的值被丢弃,然后在右边补0。
2、考察了对二进制位的理解
在这里插入图片描述

本题代码

#include int main()
{int n = 0;scanf("%d", &n);printf("%d\n",1 << n);return 0;
}

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...