(一)、
#include <stdio.h> #include <assert.h> int main(void) { //若assert(expression)中表达式是错误的,则直接退出。 int a; char str[50]; printf(":"); scanf("%d", &a); assert(a >= 10); printf(":%d\n", a); printf(":"); scanf("%s", str); assert(str != NULL); printf(":%s\n", str); return 0; }
(二)、ctype.h
//isalpha判断是字母,islower小写字母,isupper大写字母,istoupper转化大写,istolower转化小写。 #include <stdio.h> #include <ctype.h> int main() { int var1 = 'd'; int var2 = '2'; int var3 = '\t'; int var4 = ' '; if( isalpha(var1) ) { printf("var1 = |%c| 是一个字母\n", var1 ); } else { printf("var1 = |%c| 不是一个字母\n", var1 ); } if( isalpha(var2) ) { printf("var2 = |%c| 是一个字母\n", var2 ); } else { printf("var2 = |%c| 不是一个字母\n", var2 ); } if( isalpha(var3) ) { printf("var3 = |%c| 是一个字母\n", var3 ); } else { printf("var3 = |%c| 不是一个字母\n", var3 ); } if( isalpha(var4) ) { printf("var4 = |%c| 是一个字母\n", var4 ); } else { printf("var4 = |%c| 不是一个字母\n", var4 ); } return(0); }
(三)、limits.h
#include <stdio.h> #include <limits.h> //注意INT_MIN和INT_MAX多应用于比较大小。 int main() { printf("The number of bits in a byte %d\n", CHAR_BIT); printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN); printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX); printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX); printf("The minimum value of SHORT INT = %d\n", SHRT_MIN); printf("The maximum value of SHORT INT = %d\n", SHRT_MAX); printf("The minimum value of INT = %d\n", INT_MIN); printf("The maximum value of INT = %d\n", INT_MAX); printf("The minimum value of CHAR = %d\n", CHAR_MIN); printf("The maximum value of CHAR = %d\n", CHAR_MAX); printf("The minimum value of LONG = %ld\n", LONG_MIN); printf("The maximum value of LONG = %ld\n", LONG_MAX); return(0); }
#include <stdio.h> #include <limits.h> //https://vjudge.net/contest/338668#problem/H int main(void) { int n,a,s,max,min,sum; int d[100+1]; double agv; while(~scanf("%d",&n)){ for(a = 0; a < n; a++) scanf("%d", &d[a]); sum = 0; agv = 0.0; max = INT_MIN; min = INT_MAX; for(s=0; s < n; s++){ if(max < d[s]) max = d[s]; if(min > d[s]) min = d[s]; } for(s=0; s < n; s++) sum += d[s]; agv = (double)(sum-max-min) / (n-2); printf("%.2lf\n", agv); } return 0; }