C语言-功能模块
1、//判断闰年:可以被400整除或者可以被4整除但不能被100整除的数
(y%400==0)||(y%100!=0&&y%4==0)
2、//将数组中的字符‘1’-‘9’转化为数值 num[i]-'0'
3、判断含有X的个数;逆序输出思想也类似
int main() {
int cout=0, num;
for(int i=1;i<=2019;i++){
num=i;
while(num>0){ //设置一个界限点
if(num%10==9){ //判断各位是否为9
cout++; //统计个数
break;
}
else
num=num/10; //逐渐缩小数的位数,然后通过循环判断
} }
4、判断是否为质数
int main(){
int i,j,m,sum=0; //m=sqrt(i),m要转换为整型,以便判断j>=m+1
//float m;
for(i=100;i<1000;i++){
m=sqrt(i);
for(j=2;j<=m;j++){
if(i%j==0) //如果碰到可以整除,则不是质数,跳出循环
break;
}
if(j>=m+1) //通过判断每个因数是否执行完作为判断质数的依据
sum+=1;
}
5、删除字符串中的指定字符
#include<stdio.h>
#include<string.h>
void del(char a, char str[]) {
int l = strlen(str); // 计算字符串的长度
int point = 0; // 字符串位置标号,用于保存当前有效字符位置
for (int i = 0; i < l; i++) {
if (str[i] == a) {
continue; // 若当前字符为要删除的字符,则直接跳过继续进行循环
}
else {
str[point] = str[i]; // 当前字符为非删除字符,则往前覆盖
point++; // 有效字符标号位置递增
}
}
str[point] = '\0'; // 循环结束,最后一个字符为结束符
}
int main(void) {
char c; // 要删除的字母
char str[200]; // 保存字符串
scanf("%s\n", str);
scanf("%c", &c);
del(c, str);
printf("%s",str);
return 0;
}
6、四舍五入输出
对于一个具有N位小数的数字,想要四舍五入保留N-1位数字时,将此数字先乘以10的N-1次方,再加上0.5,强制类型转化为int,最后再除以10的次方带个小数点,例如(1000.0)
float x = 2.7255;
printf("%f", (int)((2.7255* 1000) + 0.5) / 1000.0); //2.726
负数情况: (int)(浮点数-0.5)
float x=-19.99 ;
printf("%d", (int)(x- 0.5));
一个浮点数b=3.1415926,要求输出3.1415,只用将其乘以10000,强制转化为int类型,最后再除以10000.0就可以得到3.1415了
float b=3.14159;
printf("%f",(int)(b*10000)/10000.0);
#C语言#