每天进步一点点,坚持带来大改变!!!
前言:
C语言入门刷题必备,包含牛客网题目链接
练习1
https://www.nowcoder.com/practice/5cd9598f28f74521805d2069ce4a108a?tpId=107&&tqId=33287&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/5cd9598f28f74521805d2069ce4a108a?tpId=107&&tqId=33287&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目:打印小飞机
int main() { printf(" ** n"); printf(" ** n"); printf("************n"); printf("************n"); printf(" * * n"); printf(" * * n"); return 0; }
练习2:
https://www.nowcoder.com/practice/33e148570d5c4e728116e2f861638c9c?tpId=107&&tqId=33289&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/33e148570d5c4e728116e2f861638c9c?tpId=107&&tqId=33289&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目:十六进制转化为十进制
int main() { printf("%dn", 0xABCDEF); return 0; }
练习3:
https://www.nowcoder.com/practice/a19ef1d8e55c4cc786f11cbf6b2fde61?tpId=107&&tqId=33290&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/a19ef1d8e55c4cc786f11cbf6b2fde61?tpId=107&&tqId=33290&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目:输出printf函数的返回值
#includeint main() { int ret = printf("hello"); printf("n%dn", ret); return 0; }
解释:printf函数返回的是打印在屏幕上的字符个数
练习4:
https://www.nowcoder.com/practice/58b6a69b4bf943b49d2cd3c15770b9fd?tpId=107&&tqId=33292&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/58b6a69b4bf943b49d2cd3c15770b9fd?tpId=107&&tqId=33292&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。
#includeint main() { int id = 0; float C_score = 0.0; float Math_Score = 0.0; float English_Score = 0.0; scanf("%d;%f,%f,%f", &id, &C_score, &Math_Score, &English_Score); printf("The each subject score of No. %d is %.2f, %.2f, %.2f.", id, C_score, Math_Score, English_Score); return 0; }
注意:
1.输入的时候需要严格控制格式。
2.小数点后保留几位用".X",X代表要保留的位数。
练习5
https://www.nowcoder.com/practice/44d2d63103664913bc243d3836b4f341?tpId=107&&tqId=33316&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/44d2d63103664913bc243d3836b4f341?tpId=107&&tqId=33316&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:
多组输入,输入包括一个字符。
输出描述
输出该字符是字母(YES)或不是(N)
代码1:#includeint main() { int ch = 0;//获取的字符到ch中 while ((ch = getchar()) != EOF) { if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') { printf("YESn"); } else { printf("NOn"); } getchar();//读取从键盘输入的'n'; } return 0; } 代码2:
#include#include int main() { int ch = 0;//获取的字符到ch中 while ((ch = getchar()) != EOF) { if (isalpha(ch)) { printf("YESn"); } else { printf("NOn"); } getchar();//读取从键盘输入的'n'; } return 0; }
解释代码2:isalpha()是一个库函数,专门用来判断一个字符是不是字母,如果是字母返回一个非0的值,包含头文件#include
练习6
https://www.nowcoder.com/practice/0fae60c3b5c64699b7c0f031c2187dde?tpId=107&&tqId=33293&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/0fae60c3b5c64699b7c0f031c2187dde?tpId=107&&tqId=33293&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:输入一个字符,用它构造一个边长为5的三角形圣诞树。
输入描述:
输入只有一行,一个字符。
输出描述:
该字符构成的三角形圣诞树。
#includeint main() { int ch = 0; ch = getchar();//获取一个字符存放到ch中 //打印圣诞树包含两部分:空格+字符 int i = 0; for (i = 0; i < 5; i++) { int j = 0; //空格 for (j = 0; j < 4 - i; j++) { printf(" "); } //字符 for (j = 0; j <= i; j++) { printf("%c ", ch); } printf("n");//打印完一行就换行 } return 0; }
练习7:
https://www.nowcoder.com/practice/4280d330fe314e8f98cd5c593e3e9190?tpId=107&&tqId=33294&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/4280d330fe314e8f98cd5c593e3e9190?tpId=107&&tqId=33294&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:转化ASCII值对应的字符
输出描述:一行输出转换题目中给出的所有ASCII码对应的字符,无需以空格隔开。
#includeint main() { int arr[] = { 73, 32, 99, 97, 110, 32, 100, 111, 32, 105, 116 , 33 }; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < sz; i++) { printf("%c", arr[i]); } return 0; }
练习8:
https://www.nowcoder.com/practice/4a4a9dd1edb6453ba4a0432319200743?tpId=107&&tqId=33295&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/4a4a9dd1edb6453ba4a0432319200743?tpId=107&&tqId=33295&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:出生日期的输入与输出
输入描述:输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。
输出描述:三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。
#includeint main() { int year = 0; int month = 0; int date = 0; scanf("%4d%2d%2d", &year, &month, &date); printf("year=%dn", year); printf("month=%02dn", month); printf("date=%02dn", date); return 0; }
注意:
scanf()函数可以输入指定域宽,printf()函数的%0格式控制符,输出数值时指定左面不使用的空位置自动填0。
练习9:
https://www.nowcoder.com/practice/35a1e8b18658411388bc1672439de1d9?tpId=107&&tqId=33310&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/35a1e8b18658411388bc1672439de1d9?tpId=107&&tqId=33310&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
输入描述:输入整数n
输出描述:输出2的n次方
#includeint main() { int n = 0; //整形的多组输入 while ((scanf("%d", &n)) != EOF) { //通过移位计算2的n次方 printf("%d", 1 << n); } return 0; }
注意:
移位操作符:移对应的二进制位
练习10:
https://www.nowcoder.com/practice/95eb723a3e854376a7eb6d116cc7d875?tpId=107&&tqId=33296&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/95eb723a3e854376a7eb6d116cc7d875?tpId=107&&tqId=33296&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:按照格式输入并输出
#includeint main() { int a = 0; int b = 0; int c = 0; scanf("a=%d b=%d", &a, &b); //用一个临时变量交换 c = a; a = b; b = c; printf("a=%d b=%dn", a, b); return 0; }
注意:
交换的时候需要一个创建一个临时变量
练习11:
https://www.nowcoder.com/practice/93f4d05a02d9468db424ed4316bfc8fd?tpId=107&&tqId=33297&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/93f4d05a02d9468db424ed4316bfc8fd?tpId=107&&tqId=33297&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:字符转ASCII值
#includeint main() { char ch = 0; ch = getchar(); printf("%dn", ch); return 0; }
练习12:
https://www.nowcoder.com/practice/58457d27f91043edaf95b6591bb64fd6?tpId=107&&tqId=33298&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/58457d27f91043edaf95b6591bb64fd6?tpId=107&&tqId=33298&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:计算表达式的值
#includeint main() { int a = 40; int c = 212; int result = (-8 + 22) * a - 10 + c / 2; printf("%dn", result); return 0; }
注意:计算表达式的值的时候一定要考虑优先级,注意()的使用
练习13:
https://www.nowcoder.com/practice/34d3911bf2fd48a285f6396e886a1259?tpId=107&&tqId=33299&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-rankinghttps://www.nowcoder.com/practice/34d3911bf2fd48a285f6396e886a1259?tpId=107&&tqId=33299&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking
题目描述:输入两个整数,计算商和余数
#includeint main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); int m = a / b; int n = a % b; printf("%d %d", m, n); return 0; }
注意:
/:取商
%:取余数



