0
点赞
收藏
分享

微信扫一扫

比特鹏哥第五节课笔记

婉殇成长笔记 2022-04-19 阅读 64
c语言

c语言第五次课

作业

输出从大到小三个数

int a=0;
	int b=0;
	int c=0;
	scanf("%d%d%d",&a,&b,&c);
	if(b>a){
		int tmp=b;
		b=a;
		a=tmp;
	}
	if(c>a){
		int tmp=a;
		a=c;
		c=tmp;
	}
	if(c>b){
		int tmp=b;
		b=c;
		c=tmp;
	}
	printf("%d %d %d\n",a,b,c);

1-100被3整除

  int i=0;
   for(i=1;i<101;i++){
	   if(i%3==0){
		   printf("%d\n",i);
}
   }

求最大公约数

使用辗转相除法

求 m n的最大公约数 用m%n如果为0则最大公约数为n 如果结果不为0,把n的值赋给m m%n的余数赋给n重复m%n

int gcd(int m,int n){
	while(n!=0){
	    int k=n;
	    n=m%n;
		m=k;
	}
	return m;
}

9出现的次数

  int i=0;
   int count=0;
   for(i=1;i<101;i++){
	   if(i%10==9){
		   count++;
	   }
	   if(i/10==9){
		   count++;
	   }
   }
   printf("1-100数字9出现了%d次\n",count);

求最大值

int arr[]={1,3,2,4,5,6,1,2,4,10};
 int max=arr[0];
 int i=0;
 for(i=1;i<sizeof arr/sizeof arr[0];i++){
	 if(arr[i]>max){
		 max=arr[i];
	 }
 }
 printf("数组最大的数字为%d\n",max);

乘法口诀表

 int i=0;
 int j=0;
 for(i=1;i<10;i++){
	 for(j=1;j<=i;j++){
		 printf("%d*%d=%d\t",j,i,i*j);
	 }
	 printf("\n");
 }

二分查找

int binserch(int x,long long  v[],int n){

	printf("K=%d",k);
		printf("Start=%d\n",start);
		printf("End=%d\n",end);
			printf("n=%d\n",n);
	while(start+1<end){
		mid=start+(end-start)/2;;
	    printf("HHH");
		if(v[mid]==x){
			
			return mid;
		}else if(v[mid]>x){
			end=mid;
		}else{
			start=mid;
		}
	}
	if(v[start]==x){
		
        return start;
	}
	if(v[end]==x){	
        return end;
	}
		
		printf("End=%d\n",end);
		return 0;
}

交换变量(不使用临时变量)

 int a=5;
   int b=3;
   a=a+b;
   b=a-b;
   a=a-b;
   printf("a=%d,b=%d",a,b);
	printf("%d",5^3);

猜大小

image-20220419153947872

我甚至以为程序写错了,一个美妙的巧合 !!image-20220419154207079

int input=1;
srand(time(NULL));
while(input){
	printf("*******************************\n");
	printf("********1. PLAY  0.EXIT********\n");
	printf("*******************************\n");
	scanf("%d",&input);
	switch(input){
	case 1:
		game();
		break;
	case 0:
		input=0;
		printf("退出成功");
		break;
	default:
		break;
	}
}

game函数

void game(){
	int tmp=0;
	int ret=rand();
	ret=(ret%100)+1;
	printf("猜猜看\n");
	scanf("%d",&tmp);
	while(1){
		if(tmp>ret){
			printf("猜大了,重新猜\n");
			scanf("%d",&tmp);
		}else if(tmp<ret){
			printf("猜小了,重新猜\n");
			scanf("%d",&tmp);
		}else{
			printf("猜对了!!!\n");
			break;
		}
	}
	//printf("%d\n",ret);
};

主要通过rand()函数实现随机数 但是在调用rand()函数之前需要调用一次srand()来设初始化一下rand(),需要像srand()里传入随机数,所以联想到了时间函数time() 此函数会返回当前的时间戳 只传入一次即可 后续会跟随时间变化

goto语句

可以用来跳转多层嵌套,最好不使用

system()函数

此函数用来操作系统命令

举报

相关推荐

0 条评论