【C语言】基础篇续

最大公约数HCF与最小公倍数LCM

cpp 复制代码
#include<stdio.h>
int main(){
	int n1,n2,i,hcf,lcm;
	printf("Enter two numbers:");
	scanf("%d %d",&n1,&n2);
	for(i = 1;i <= n1 & i <= n2;i++){
		if(n1 % i == 0 & n2 % i == 0){
			hcf = i;
			lcm = (n1*n2)/hcf;
		}
	}
	printf("HCF of %d and %d is %d\n",n1,n2,hcf);
	printf("LCM of %d and %d is %d",n1,n2,lcm);
}

简单实现开根号 sqrt

cpp 复制代码
#include<stdio.h>
#include<math.h>
int main(){
	int a = 9;
	int b;
	b = sqrt(a);
	printf("%d",b);
	return 0;
}

计算ax²+bx+c=0的根

cpp 复制代码
#include<stdio.h>
#include<math.h>
int main(){
	double a,b,c,disc,x1,x2,p,q;
	printf("Enter ax²+bx+c of a b c:");
	scanf("%lf %lf %lf",&a,&b,&c);
	disc = b*b - 4*a*c;
	if(disc<0){
		printf("This equation hasn't real root\n");
	}
	else{
		p = -b/(2.0*a);
		q = sqrt(disc)/(2.0*a);
		x1 = p + q;
		x2 = p - q;
		printf("x1 = %5.2f\nx2 = %5.2f\n",x1,x2);
	}
	return 0;
}

通过分数评判等级

cpp 复制代码
#include<stdio.h>
int main(){
	int s,score;
	scanf("%d",&score);
	printf("Your grade is:");
	s = score/10;
	switch(s){
		case 1: printf("D");
		break;
		case 2: printf("D");
		break;
		case 3: printf("D");
		break;
		case 4: printf("D");
		break;
		case 5: printf("D");
		break;
		case 6: printf("C");
		break;
		case 7: printf("C");
		break;
		case 8: printf("B");
		break;
		case 9: printf("A");
		break;
		case 10: printf("A");
		break;
		default:printf("Error");
	}
	return 0;
}

循环嵌套输出矩阵

cpp 复制代码
#include<stdio.h>
int main(){
	int i,j,n=0;
	for(i = 1;i <= 4;i++)
		for(j = 1;j <= 5;j++,n++){
			if(n%5 == 0)printf("\n");
			printf("%d\t",i*j);
		}
		printf("\n");
	return 0;
}

求100-200的全部素数

cpp 复制代码
#include<stdio.h>
#include<math.h>
int main(){
	int n,k,i,m=0;
	for(n = 101;n <= 200;n = n+2){  // 偶数不用排查
		k = sqrt(n);
		for(i = 2;i <= k;i++){
			if(n % i == 0)
			break;
		}
		if(i >= k + 1){       // 表示n未被整除
			printf("%d ",n);
			m = m + 1;
		}
		if(m % 10 == 0)      // 一行内输出10个素数
			printf("\n");
	}
	printf("\n");
	return 0;
}

大写字母转小写

cpp 复制代码
#include<stdio.h>
int main(){
	char c1,c2;
	printf("Enter a capital letter :");
	c1 = getchar();
	c2 = c1 + 32;
	printf("It's small lettter is :");
	putchar(c2);
	return 0;
}

计算字符串长度

调用内置函数strlen

cpp 复制代码
#include<stdio.h>
#include<string.h>
int main(){
	char str[50];
	int len;
	printf("Enter a string:");
	scanf("%s",str);
	len = strlen(str);
	printf("Lengh of '%s' = %d",str,len);
	return 0;
}

使用指针

cpp 复制代码
#include<stdio.h>
int str_len(char* str){
	int count = 0;
	while(*str != '\0'){
		count++;
		str++;
	}
	return count;
}

int main(){
	char str[50];
	printf("Enter a string:");
	scanf("%s",str);
	int len = str_len(str);
	printf("%d",len);
	return 0;
}
相关推荐
稚辉君.MCA_P8_Java7 小时前
Gemini永久会员 Java中的四边形不等式优化
java·后端·算法
稚辉君.MCA_P8_Java7 小时前
通义 插入排序(Insertion Sort)
数据结构·后端·算法·架构·排序算法
无限进步_8 小时前
C语言动态内存的二维抽象:用malloc实现灵活的多维数组
c语言·开发语言·数据结构·git·算法·github·visual studio
Swift社区8 小时前
LeetCode 432 - 全 O(1) 的数据结构
数据结构·算法·leetcode
逝玄8 小时前
关于图灵停机问题不可判定性证明
算法·计算机科学
低客的黑调8 小时前
为你的项目选择一个适合的[垃圾收集器]
java·jvm·算法
芬加达9 小时前
leetcode34
java·数据结构·算法
资深web全栈开发9 小时前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理
算法·leetcode·职场和发展
dragoooon349 小时前
[优选算法专题八.分治-归并 ——NO.46~48 归并排序 、数组中的逆序对、计算右侧小于当前元素的个数]
数据结构·算法·排序算法·分治