C 语言教程 在线

1655c-exercise-example5

参考实例:

#include <stdio.h>

int main(void)
{
    int x,y,z;
    printf("输入三个数字(例如:1,2,3)\n"); 
    scanf("%d,%d,%d",&x,&y,&z);
    if(x>y&&y>z)
        printf("%d,%d,%d",z,y,x);

    if(x>z&&z>y)
        printf("%d,%d,%d",y,z,x);

    if(y>x&&x>z)
        printf("%d,%d,%d",z,x,y);

    if(y>z&&z>x)
        printf("%d,%d,%d",x,z,y);

    if(z>x&&x>y)
        printf("%d,%d,%d",y,x,z);

    if(z>y&&y>x)
        printf("%d,%d,%d",x,y,z);
        
    return 0; 
}

1654c-exercise-example5

参考方法:

#include <stdio.h>

//输入三个整数x,y,z,请把这三个数由小到大输出。
//利用冒泡排序

int main(int argc, char *argv[]) {
    int x,y,z;
    int arr[3];
    int i,j;
    int t=0;
    printf("\n请输入三个数字:\n");
    scanf("%d%d%d",&x,&y,&z);
    arr[0] = x;
    arr[1] = y;
    arr[2] = z;
    //获取数组长度  这里完全没必要这样做,只是好奇怎么获取c的数组长度
    int len = sizeof(arr)/sizeof(arr[0]);
    for(i=0;i<len;i++){
        for(j=i+1;j<len;j++){
            if(arr[i] > arr[j]){
                t = arr[i];
                arr[i] = arr[j];
                arr[j] = t;
            }
        }
    }
    printf("从小到大排序: \n");
    for(i=0;i<len;i++){
        printf("%d\n",arr[i]);
    }
}

1653c-exercise-example4

参考方法:

#include<stdio.h>

//某月的天数 
int getMonthDay(int month)
{
    int day = 0;
    switch(month){
        case 2:
            day = 28;
            break; 
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            day = 31;
            break;
        case 4:
        case 6:
        case 9:
        case 11:
            day = 30;
            break;        
    }
    return day;
}

//是否闰年
int isleap(int year)
{
    if ( (year%4==0 && year%100!=0) || (year%400==0) ){
        return 1;
    }
    return 0;
}

int main()
{
    int year, month, day;
    printf("请输入年月日(2019-5-1):\n");
    scanf("%d-%d-%d", &year, &month, &day);
    
    int days = day, m;
    for(m=1; m<month; m++){
        days += getMonthDay(m);
    }
    if (isleap(year)==1){
        days += 1;
    }
    printf("%d-%d-%d是这一年的第%d天", year, month, day, days);
    return 0;
} 

1652c-exercise-example4

参考方法:

#include<stdio.h>
int IsLeap(int year)
{
    if((year%4==0&&year%100!=0)||(year%400==0))
        return 1;
    else
        return 0;
}
int main(void)
{
    int monthday[2][13] = {{0,31,28,31,30,31,30,31,31,30,31,30,31},
                            {0,31,29,31,30,31,30,31,31,30,31,30,31}};
    int year,month,day;
    int sum = 0;
    printf("请输入年、月、日,格式为:年,月,日(2015,12,10)\n");
    scanf("%d,%d,%d",&year,&month,&day);
    if(IsLeap(year))
    {
        for(int i = 0; i < month; i++)
        {
            sum += monthday[1][i];
        }
    }
    else
    {
          for(int i = 0; i < month; i++)
        {
            sum += monthday[0][i];
        }
    }
    sum += day;
    printf("这是这一年的第 %d 天。",sum);
    return 0;
}

1651c-exercise-example4

参考方法:

#include <stdio.h>

int main(){

    int year,month,day;
     // 一、 二、 三、 四、 五、六 、七、八、九、十、十一、十二
    int monthOfDayNumber[] = {31, 28, 31, 30, 31, 30,31,31,30,31,30,31};
    printf("\n请输入年、月、日,格式为:年,月,日(2015,12,10)\n");
    scanf("%d,%d,%d",&year,&month,&day);  // 格式为:2015,12,10
    int sum=0,leap=0;
    if(year%400==0||(year%4==0&&year%100!=0)){
        leap = 1;
    }

    if(month>=3){
        printf("闰年: %d\n",leap);
        sum = sum + leap;
    }

    for(;month-2>=0;month--){
        sum += monthOfDayNumber[month-2];
    }
    sum += day;
    printf("此日期是%d年的第%d天\n",year,sum);
    return 0;
}