Cjc作业3


14.编写一个程序。请实现以下功能:(威海精讯畅通)

输入三个数,分别为年、月、日,输出此日是该年的第几天。
输入:
XXX XXX XXX
输出:
此日是该年的第XXX 天
示例:
输入 2020 2 20
程序输出 此日是该年的第51 天

#include <stdio.h>

int main(int argc,char* argv[])
{
	int year,mouth,day;
	scanf("%d %d %d",&year,&mouth,&day);
	int sum=day;
	int ym[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	if((year%400==0)||(year%4==0&&year%100!=0))
	{
		ym[1]=29;//闰年
	}else
	{
		ym[1]=28;//平年
	}
	for(int i=1;i<mouth;i++){
		sum+=ym[i-1];
	}
	printf("此日是该年的第%d天\n",sum);
	return 0;
}


12. 编写一个程序。实现输入一个三位数,判断是否是水仙花数

#include <stdio.h>

int main(int argc,char* argv[])
{
	int num,ge,shi,bai;
	scanf("%d",&num);
	if(num>=0&&num<=999){
		ge=num%10;
		shi=num%100/10;
		bai=num/100;
		if(bai*100+shi*10+ge==ge*ge*ge+shi*shi*shi+bai*bai*bai){
			printf("是水仙花");
	}else{
		printf("不是水仙花");
	}
	}
	return 0;
}



10. 已知学生成绩(100分为满分)与等级的对应关系为: (中科四平)

成绩(grade) 等级
90<=grade<=100 A
80<=grade<90 B
70<=grade<80 C
60<=grade<70 D
grade<60 E
请你编写一个程序,要求:输入学生成绩,输出学生成绩对应的等级。(提示:使用switch…case 语句)

#include <stdio.h>

int main(int argc,char* argv[])
{
	int grade;
	scanf("%d",&grade);
	switch(grade/10)
	{
	case 10: 
	case 9: 	printf("A\n"); 	break;
	case 8: 	printf("B\n"); 	break;
	case 7: 	printf("C\n"); 	break;
	case 6: 	printf("D\n"); 	break;
	default: 	printf("E\n"); 	break;
	}
	return 0;
}


16. 编写一个程序。有 4 个变量 a,b,c,d,我们提前并不知道他们的值,请用你的方式将他们从大到小排序。算法任意

#include <stdio.h>

int main() {
    int a, b, c, d;

    printf("输入4个整数:\n");
    scanf("%d %d %d %d", &a, &b, &c, &d);

    // 使用条件表达式进行排序
    int max = (a > b) ? (a > c ? (a > d ? a : d) : (c > d ? c : d)) : (b > c ? (b > d ? b : d) : (c > d ? c : d));
    int second = (a > b) ? (b > c ? (b > d ? b : (c > d ? c : d)) : (a > d ? a : d)) : (a > c ? (a > d ? a : d) : (c > d ? c : d));
    int third = (a > b) ? (b > c ? (c > d ? c : d) : d) : (a > c ? (c > d ? c : d) : d);
    int fourth = (a < b) ? (a < c ? (a < d ? a : d) : (c < d ? c : d)) : (b < c ? (b < d ? b : d) : (c < d ? c : d));

    printf("打印结果为: %d %d %d %d\n", max, second, third, fourth);

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值