23/2/7学习记录
1.连续输入带空格的字符串或者字符时使用while( ~scanf( "%c", &str) ) 注意HJ4: 字符串分割这一题目
2.进制转换在c语言中可以直接输入 scanf( "%x", &input),输出printf("%d",input)由此转换;也可以由下列函数转换
#include <stdio.h>
#include <string.h>
#include <math.h>
int hexToDec(const char *str) {
int ans = 0, t = 0;
for (int i = strlen(str) - 1; str[i]; i--) {
if (str[i] >= '0' && str[i] <= '9') {
ans += (str[i] - '0') * pow(16, t++);
} else {
ans += (str[i] - 'A' + 10) * pow(16, t++);
}
}
return ans;
}
int main() {
char str[10] = {0};
while (~scanf("0x%s", str)) {
getchar();
printf("%d\n", hexToDec(str));
}
return 0;
}
3. 求质数因子,可以运用头文件<math.h>中的sqrt( )函数,若 i 循环大于所求数字的开方则其质数就是所求数字
4. 快速排序算法qsort( ) 即void qsort(void *base, size_t nitems, size_t size,int (*compar)(const void *, const void*) )
参数:base--指向要排序数组第一个元素的指针,一般为数组名
nitems--由base指向的数组元素个数
size--数组中每个元素的大小,一般用sizeof( )求
compar--用来比较两个元素的函数,一般由用户自己定义
5.scanf( )函数输入字符时,如果scanf( "%c %c", &a, &b); printf( )如果输入想输入a=' N', b=' O', 输入N O时打印出来显示"N ",
第二个字符为' ',正确输入方法为scanf( "%c%*c%c", &a, &b); /*c,这是能抑制字符输入,所以最后结果能输出是NO,无论在N与O之间输入任何一个字符都不会被读取
#我的实习求职记录#c编程学习记录 文章被收录于专栏
为了华为od机试刷题学习记录

