zoukankan      html  css  js  c++  java
  • Exercise 3.2 Display a date

    无法让我不汗颜:

    Exercise 3-2. Write a program that prompts the user to enter the date as three integer
    values for the month, the day in the month, and the year. the program should then output
    the date in the form 31st December 2003 when the user enters 12 31 2003, for example.
    You will need to work out when th, nd, st, and rd need to be appended to the day value. Don’t forget 1st, 2nd, 3rd,
    4th; but 11th, 12th, 13th, 14th; and 21st, 22nd, 23rd, and 24th.

    #include<stdio.h>
    int main(void)
    {
        int date = 0;
        int month = 0;
        int year = 0;
        
        printf("pls enter the date");//如何一块输入日期、时间、?
        scanf("%d", &date);//date描述不对,应该是day 
        scanf("%d", &month);
        scanf("%d", &year);
        
        if(date>3 && date<21 || date>23 && date<31)
                  printf("%dth", date);//没有换行符 
        else
        printf("%d%s", date, (date == 1?"st":(date == 2?"nd": "rd")));//后面的要加"字符串符号" .2.?:格式记错  3. 赋值符号和等于号记错 switch (month):{
         case month = 1; //月份直接写反
                 printf("January");
                  breakcase month = 2 ;
                 printf("February");
                 break; 
         case month = 3;
                 printf("March");
                 break; 
         case month = 4;
                 printf("April");
                 break; 
         case month = 5;
                 printf("May");
                 break; 
         case month = 6;
                 printf("June");
                 break; 
         case month = 7;
                 printf("July");
                 break; 
         case month = 8;
                 printf("August");
                 break; 
         case month = 9;
                 printf("September");
                 break; 
         case month = 10;
                 printf("October");
                 break; 
         case month = 11;
                 printf("November");
                 break; 
         case month = 12;
                 printf("December");
                 break;
        
        }
         printf("%d", year);
        
        return 0;
    }

    别人家的代码:

     1 // Exercise 3.2 Display a date
     2 #include <stdio.h>
     3 
     4 int main(void)
     5 {
     6   int month = 0;
     7   int day = 0;
     8   int year = 0;
     9   printf("Enter the date as three integer values separated by spaces (month day year): ");
    10   scanf("%d", &month);
    11   scanf("%d", &day);
    12   scanf("%d", &year);
    13   if(day > 3 && day < 21 || day > 23 && day < 31)
    14     printf("
    %dth ",day);
    15   else
    16     printf("
    %d%s ", day, (day%10 == 1 ? "st": (day%10 == 2 ? "nd" : "rd")));// %s,string
    17 
    18   switch(month)
    19   {
    20     case 1:
    21       printf("January ");
    22       break;
    23     case 2:
    24       printf("February ");
    25       break;
    26     case 3:
    27       printf("March ");
    28       break;
    29     case 4:
    30       printf("April ");
    31       break;
    32     case 5:
    33       printf("May");
    34       break;
    35     case 6:
    36       printf("June");
    37       break;
    38     case 7:
    39       printf("July");
    40       break;
    41     case 8:
    42       printf("August");
    43       break;
    44     case 9:
    45       printf("September");
    46       break;
    47     case 10:
    48       printf("October");
    49       break;
    50     case 11:
    51       printf("November");
    52       break;
    53     case 12:
    54       printf("December");
    55       break;
    56   }
    57   printf(" %d
    ", year);
    58   return 0;
    59 }

    ===================

    ........

    printf(" %dth ",day);

    .......

    printf("May");

    ........

    printf(" %d ", year);

    --------------------------------

    三个并列的printf

    最后的输出却是这种结果31st December 2003

    why不是换行?

    答:

    #include<stdio.h>
    int main(void)
    {
    printf("asl;fkjl");
    printf(" ---");
    return 0;
    }

    编译器显示,的确是同层次的printf按照一行输出,除非有换行符、

    ==================

  • 相关阅读:
    [ZJOI2006]物流运输
    [SCOI2009]生日快乐
    [FJOI2007]轮状病毒
    [转载]centos 7(1611)安装笔记
    发行版Linux和麒麟操作系统下netperf 网络性能测试
    ARM64平台编译stream、netperf出错解决办法 解决办法:指定编译平台为alpha [root@localhost netperf-2.6.0]# ./configure –build=alpha
    查看linux系统是多少位,使用 getconf LONG_BIT
    https://www.jqhtml.com/30047.html strace + 命令: 这条命令十分强大,可以定位你程序到底是哪个地方出了问题
    Centos7 利用crontab定时执行任务及配置方法
    清楚自己的短板是什么 搞清楚自己的职业规划是什么
  • 原文地址:https://www.cnblogs.com/xiaomi5320/p/4170158.html
Copyright © 2011-2022 走看看