C语言百题(1~5)

在这里插入图片描述

/*#include<stdio.h>
int main(){
	int cock,hen,chicken;
	for(cock=0;cock<=20;cock++){
		for(hen=0;hen<=33;hen++){
			for(chicken=0;chicken<=100;chicken++){
				if((cock+hen+chicken==100)&&((5*cock)+(3*hen)+(chicken/3.0)==100)){
					printf("cock:%2d,hen:%2d,chicken:%2d",cock,hen,chicken);
				}
			}
		}
	}
}*/
//优化 
#include<stdio.h>
int main(){
	int cock,hen,chicken;
	for(cock=0;cock<=20;cock++){
		for(hen=0;hen<=33;hen++){
			chicken=100-cock-hen;
				if(5*cock+3*hen+chicken/3.0==100){ 
					printf("cock:%d,hen:%d,chicken:%d",cock,hen,chicken);
				}
		}
	}
}

既然for循环可以解决,while循环也可以,一下是while版本;

#include <stdio.h>
int main()
{
    int cock = 0;
    int hen;
    int chicken;
    while (cock <= 20)
    {
        hen = 0; // 重置 hen 的值
        while (hen <= 33)
        {
            chicken = 100 - cock - hen;
            if (5 * cock + 3 * hen + chicken / 3.0 == 100)
            {
                printf("cock=%d, hen=%d, chicken=%d\n", cock, hen, chicken);
            }
            hen++;
        }
        cock++;
    }
    return 0;
}

在这里插入图片描述
找规律:
在这里插入图片描述

#include<stdio.h>
int main(){
    int count = 0;
    for(int a=1;a<=5;a++){
        for(int b=1;b<=4;b++){
            for(int c=1;c<=3;c++){
                count++;
            }
        }
    }
    printf("可以有%d种借法",count);
    return 0;
}

#include<stdio.h>
int main(){
    int a,b,c;
    int i=0;
    for(int a=1;a<=5;a++){
        for(int b=1;b<=5;b++){
            for(int c=1;c<=5;c++){
                if(a!=b&&a!=c&&b!=c){
                    printf("A=%d,B=%d,C=%d", a, b, c);
                    i++;
                    if(i%4==0)
                    printf("\n");//做了一个换行,便于输出观察
                }
            }
        }
    }
    printf("%d种类",i);
    return 0;
}

在这里插入图片描述

求解本题分两个步骤,先求日期,再取余求打鱼晒网;
1.先判断平年闰年,再判断月,最后加上当前天。

#include <stdio.h>

int main() {
    int year, month, day;
    printf("请输入年份:");
    scanf("%d", &year);
    printf("请输入月份:");
    scanf("%d", &month);
    printf("请输入日期:");
    scanf("%d", &day);
    // 计算从输入日期到1990年1月1日的天数
    int days = 0;
    for (int y = 1990; y < year; y++) {
        if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) {
            days += 366; 
        } else {
            days += 365;
        }
    }

    int daysInMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    for (int m = 1; m < month; m++) {
        days += daysInMonth[m];
    }
    days += day;
    if ((days % 5) <= 3) {
        printf("从 %d年%d月%d日 开始的第 %d 天,这个人打鱼\n", year, month, day, days);
    } else {
        printf("从 %d年%d月%d日 开始的第 %d 天,这个人晒网\n", year, month, day, days);
    }

    return 0;
}

在这里插入图片描述
今天就到这,明天再更。。。

#include<stdio.h>
int main(){
	int i,j,k,temp;
	for(i=0; i<=9; i++)
		for(j=0;j<=9;j++){
			if(i!=j){
				k=1000*i+100*i+10*j+j;
				for(temp=31; temp<=99; temp++)
					if(temp*temp==k)
						printf("车牌号为%d",k); 
			}
		}
		return 0; 
} 

在这里插入图片描述

数学规律,斐波拉契数列;

int main(){
	long fib1=1,fib2=1,fib;
	int i;
	printf("%121d%121d",fib1,fib2);
	for(i=3; i<=30; i++){
		fib = fib1+fib2;
		printf("%12d",fib);
		if(i%4==0)
		printf("\n");
		fib2=fib1;
		fib1=fib;
	}
	return 0; 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值