混合类型数据格式化输入

本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。

输入格式:

输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。

输出格式:

在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。

输入样例:

2.12 88 c 4.7

输出样例:

c 88 2.12 4.70

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include

int main()
{
    double a;
    double d;
    /*scanf("%lf", &a,&d);*/
    int b=0;
    char c;
    scanf("%lf %d %c %lf",&a,&b,&c,&d);
    printf("%c %d %lf %lf\n", c, b, a, d);
    return 0;
}

2-9 日期格式化

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:

输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式:

在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例:

03-15-2017

输出样例:

2017-03-15

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include

int main()
{

    int mm, dd, yyyy;
    scanf("%d-%d-%d", &mm, &dd, &yyyy);
    printf("%d-%d-%d",yyyy,mm,dd);
    return 0;
}

去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。

输入格式:

输入在一行中给出商品的原价(不超过1万元的正整数)和折扣(为[1, 9]区间内的整数),其间以空格分隔。

输出格式:

在一行中输出商品的折扣价,保留小数点后 2 位。

输入样例:

988 7

输出样例:

691.60

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include
//#include

int main()
{

    int a = 0, b = 0;
    float c;
    scanf("%d%d", &a,&b);
    c = a*b*0.10;
    printf("%.2f", c);
    return 0;
}

2-11 是不是太胖了

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

输入格式:

输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。

输出格式:

在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。

输入样例:

169

输出样例:

124.2

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include
//#include

int main()
{

    /*int a = 0, b = 0;
    float c;
    scanf("%d%d", &a,&b);
    c = a*b*0.10;
    printf("%.2f", c);*/
    int height = 0;
    float weight = 0.0;
    scanf("%d",&height);
    weight = (height - 100) * 0.9 * 2;
    printf("%.1f", weight);
    return 0;
}

2-12 然后是几点

有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。

读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。

输入格式:

输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。

输出格式:

输出不多于四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。

输入样例:

1120 110

输出样例:

1310

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include
//#include

int main()
{
    int time = 0, t = 0,now=0,a=0,t_time=0,n_now=0;
    scanf("%d %d", &time, &t);
    a = time / 100;
    t_time = a * 60+ time % 100;
    n_now = t_time + t;
    now = n_now / 60 *100+ n_now % 60;
    printf("%d", now);
    return 0;
}

你可能感兴趣的:(c语言,学习)