学习笔记8/3(104集 128)

输入一个整形数组 调整该数组使得奇数在前 偶数在后
#include<stdio.h> 

void ww_arr(int arr[],int left,int right){
	while(left<right){
		while(left<right&&arr[left]%2==1){
			left++;
		}
		while(left<right&&arr[right]%2==0){
			right--;
		}
		if(left<right){
			int temp=arr[left];
			arr[left]=arr[right];
			arr[right]=temp;
			left++;
			right--;
		}
	}
}
int main(){
	int arr[10]={0};
	int i=0;
	int size=sizeof(arr)/sizeof(arr[0]);
	for(i=0;i<size;i++){
		scanf("%d",&arr[i]);
	}
	ww_arr(arr,0,size);
	for(i=0;i<size;i++){
		printf("%d ",arr[i]);
	}
	return 0; 
}
BC121 有序序列合并 

 BC121 有序序列合并

#include<stdio.h>


int main() {
    int arr[1000] = {0};
    int arr1[1000] = {0};
    int n = 0;
    int m = 0;
    scanf("%d %d", &n, &m);
    int ww = 0;
    int cc = 0;
    int i = 0;
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    for (i = 0; i < m; i++) {
        scanf("%d", &arr1[i]);
    }
    while (ww < n && cc < m) {
        if (arr[ww] < arr1[cc]) {
            printf("%d ", arr[ww]);
            ww++;
        } else {
            printf("%d ", arr1[cc]);
            cc++;
        }
    }
    if (ww < n) {
        for (; ww < n; ww++) {
            printf("%d ", arr[ww]);
        }
    } else {
        for (; cc < m; cc++) {
            printf("%d ", arr1[cc]);
        }
    }
    return 0;
}
BC45 小乐乐改数字

BC45 小乐乐改数字

新代码 
#include<stdio.h>  
  
int main() {  
    int n = 0;  
    scanf("%d", &n);  
    int sz = 0;  
    int arr[11] = {0}; // 假设整数不超过10位  
  
    // 分解整数到数组  
    while (n > 0) {  
        arr[sz++] = n % 10;  
        n /= 10;  
    }  
   int i = 0;
    // 将偶数位替换为0,奇数位替换为1  
    for (i=0; i < sz; i++) {  
        arr[i] = arr[i] % 2 == 0 ? 0 : 1;  
    }  
  
    // 重新构造整数  
    n = 0;  
    for ( i = sz - 1; i >= 0; i--) { // 从最高位开始构建  
        n = n * 10 + arr[i];  
    }  
  
    printf("%d\n", n);  
    return 0;  
}
#include<stdio.h> 
#include<math.h>

int main(){
	int n=0;
	scanf("%d",&n);
	int sz=0;
	int arr[11]={0}; 
	while(n>0){
		arr[sz++]=n%10;
		n/=10;
	} 
	int i=0; 
	for(i=0;i<sz;i++){
		if(arr[i]%2==0){
			arr[i]=0;
		}else{
			arr[i]=1;
		}
	}
	for(i=0;i<sz;i++){
		n+=(arr[i]*pow(10,i));
	}
	printf("%d\n",n);
	return 0; 
}
BC102 带空格直角三角形图案

BC102 带空格直角三角形图案

#include<stdio.h> 

int main(){
	int n=0;
//==1
	while(scanf("%d",&n)!=EOF){
		int i=0;
		int j=0;
		for(i=1;i<=n;i++){
			for(j=1;j<=n-i;j++){
				printf("  ");
			}
			for(j=n-i+1;j<=n;j++){
				printf("* ");
			}
			printf("\n");
		}
	} 
	return 0; 
}
BC63 网购

BC63 网购

#include<stdio.h>   
  
int main(){  
    double tel = 0; // 初始化电话费用为0  
    int yue = 0; // 初始化月份  
    int day = 0; // 初始化日期(但在这个逻辑中,day的使用可能是不必要的)  
    int quan = 0; // 初始化是否使用优惠券的标记,0表示没有,非0表示已使用  
  
    // 从用户输入中获取电话费用、月份、日期和是否使用优惠券  
    scanf("%lf %d %d %d",&tel,&yue,&day,&quan);  
  
    // 注意:这里的逻辑检查月份和日期是否相等,这在现实应用中可能不常见  
    // 但按照代码逻辑,我们假设它有一个特定的用途  
    if(yue == day){ // 如果月份和日期相等  
        if(yue == 11){ // 如果月份是11月  
            tel = tel * 0.7; // 电话费用打七折  
            if(quan){ // 如果使用了优惠券  
                tel -= 50; // 从折扣后的电话费用中减去50元  
                if(tel < 0){ // 如果最终的电话费用小于0  
                    tel = 0; // 则将其设为0  
                }  
            }  
        }  
        if(yue == 12){ // 如果月份是12月  
            tel = tel * 0.8; // 电话费用打八折  
            if(quan){ // 如果使用了优惠券  
                tel -= 50; // 从折扣后的电话费用中减去50元  
                if(tel < 0){ // 如果最终的电话费用小于0  
                    tel = 0; // 则将其设为0  
                }  
            }  
        }  
    }  
  
    // 以两位小数的格式输出最终的电话费用  
    printf("%0.2lf",tel);   
  
    return 0; // 程序正常结束  
}
抓罪犯
#include<stdio.h>   
  
int main(){  
	int arr[4]={0,0,0,0};
	int i=0;
	for(i=0;i<4;i++){
		arr[i]=1;
		if((arr[0]==0)+
		(arr[2]==1)+
		(arr[3]==1)+
		(arr[3]==0)==3){
			printf("%d\n",i+1);
			break;
		}
		arr[i]=0;
	} 
    return 0; // 程序正常结束  
}
BC138 矩阵转置

BC138 矩阵转置

#include<stdio.h>   
  
int main(){  
	int n=0;
	int m=0;
	scanf("%d%d",&n,&m);
	int cc[10][10]={0};
	int i=0;
	int j=0;
	for(i=0;i<n;i++){
		for(j=0;j<m;j++){
			scanf("%d",&cc[j][i]);
		}
	} 
	for(i=0;i<m;i++){
		for(j=0;j<n;j++){
			printf("%d ",cc[i][j]);
		}
		printf("\n");
	} 	
    return 0; // 程序正常结束  
}
BC136 KiKi判断上三角矩阵

BC136 KiKi判断上三角矩阵

#include<stdio.h>   
  
int main(){  
	int n=0;
	scanf("%d",&n);
	int cc[11][11]={0};
	int i=0;
	int j=0;
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			scanf("%d",&cc[i][j]);
		}
	} 
	int flag=1;
	for(i=1;i<=n;i++){
		for(j=i+1;j<=n;j++){
			if(cc[j][i]!=0){
				flag=0;
				goto end;
			}
		}
	} 	
end:	if(flag){
		printf("YES\n"); 
	}else{
		printf("NO\n");
	}
    return 0; // 程序正常结束  
}
BC122 有序序列判断

BC122 有序序列判断

#include<stdio.h>   
  
int main(){  
	int n=0;
	scanf("%d",&n);
	int arr[51]={0};
	int i=0;
	int flag1=0;
	int flag2=0;
	scanf("%d",&arr[0]);
	for(i=1;i<n;i++){
		scanf("%d",&arr[i]);
		if(arr[i-1]>arr[i]){
			flag1=1;
		}else if(arr[i-1]<arr[i]){
			flag2=1;
		}
	}
	if(flag1+flag2!=2){
		printf("sorted\n");
	}else{
		printf("unsorted\n");
	} 
    return 0; // 程序正常结束  
}

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值