导言:
本人作为一个编程萌新,要熟练度没熟练度,要知识没知识,要思维没思维,要是还不积累错题那就完蛋了.
所以单开一个专栏记录,分享我的错题
哦,对了,补充一点:每篇文章我目前暂定放五道错题.
对于读者的话:
这个专栏前几篇文章注定是有些可笑的,我现在看当时的错题真的会笑出声
随着我的学习,或者说进步,积累的错题才变得越来越有价值,如果在看的你可以直接去看此专栏里靠后的几篇文章
当然,如果你想放松放松,那么,此篇文章可能会是不错的选择.
小提示
以我目前的水平来看,只能做做牛客网的简单题(牛客网真的对我帮助很大!!! 谢谢牛客网!!!).此专栏的前几篇文章,大多取材于牛客网,在后面我会贴上题目链接,以方便大家练手.
1.
//#include<stdio.h> //int main() //{ //int a, b, c; // scanf("%d", &a); // b = a % 10; //c = ((a - b) % 100) / 10; //printf("%d", c); // return 0; //} #include <stdio.h> int main() { int a = 0; scanf("%d", &a); printf("%d",(a%100)/10); //当/左右皆为整数时,输出结果只能为整数!!! return 0; }
原因:因为知识点不熟而引起的程序复杂
知识点:
当/左右皆为整数时,输出结果只能为整数!!!
2.
题干:
描述
确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。
输入描述:
无
输出描述:
不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。输出样例如下:
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; }
知识点:
%d所在之处即为输出的字符
3.
题干:
描述
我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。
输入描述:
无
输出描述:
十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。
备注:
printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
代码:
#include<stdio.h> int main() { printf("%#o %#X\n",1234,1234); }
知识点:
// d 以十进制形式输出带符号整数(正数不输出符号)
// o 以八进制形式输出无符号整数(不输出前缀O)
// x 以十六进制形式输出无符号整数(不输出前缀Ox)
// X 以十六进制形式输出无符号整数(不输出前缀OX)
//使用修饰符“#”控制前导显示:
// # 对c,s,d,u类无影响;对o类, 在输出时加前缀0。对x类,在输出时加前缀0x;
//注意:题目要求,十六进制,字母大写,所以,,,,,,对X类,在输出时加前缀0X。
4.
题干:
描述
输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-231~231-1)。
输入描述:
一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。
输出描述:
一行,a+b的十进制结果。
代码:
#include<stdio.h> int main() { int a; int b; int sum; scanf("%x %o",&a,&b);//用%x输入十六进制,用%o输入八进制 sum = a+b; printf("%d",sum); return 0; }
知识点:
用%x输入十六进制,用%o输入八进制
5.
题干:创建函数,求两数之和
代码:
#include<stdio.h> int main() { int a; int b; int sum; scanf("%d %d",&a,&b); sum = a+b; printf("%d",sum); return 0; }#include<stdio.h> int main() { int a; int b; int sum; scanf("%d %d",&a,&b); sum = a+b; printf("%d",sum); return 0; }
知识点:
说实话,我现在看这道题,我也不知道它为什么在我的错题本里,
也许是,当时还没学习函数的我,看到这种解法,觉得叹为观止吧.