大学PTAc语言程序设计(顺序结构程序设计)

1-2 输出倒三角图案

本题要求编写程序,输出指定的由“*”组成的倒三角图案。

输入格式:

本题目没有输入。

输出格式:

按照下列格式输出由“*”组成的倒三角图案。

* * * *
 * * *
  * *
   *
#include <stdio.h>
int main(){
    printf("* * * *\n");
    printf(" * * *\n");
    printf("  * *\n");
    printf("   *");
    return 0;
}

1-3 重要的话说三遍

这道超级简单的题目没有任何输入。

你只需要把这句很重要的话 —— “I'm gonna WIN!”——连续输出三遍就可以了。

注意每遍占一行,除了每行的回车不能有任何多余字符。

#include <stdio.h>
int main(){
    printf("I'm gonna WIN!\n");
    printf("I'm gonna WIN!\n");
    printf("I'm gonna WIN!\n");
    return 0;
}

1-4 简单题

这次真的没骗你 —— 这道超级简单的题目没有任何输入。

你只需要在一行中输出事实:This is a simple problem. 就可以了。

#include <stdio.h>
int main(){
    printf("This is a simple problem.");
    return 0;
}

1-5 简单输入输出

编写程序,从键盘输入两个正整数a,b(小于1000),分别计算出它们的商(a/b)和余数(a%b)。输出时,商要求保留2位小数,并对第三位进行四舍五入。

输入格式:

在一行中先后给出a,b,以空格间隔。

输出格式:

在一行中按先后顺序且以空格间隔输出a/b和a%b,行末尾无多余空格和换行

输入样例:

844 21

输出样例:

40.19 4
#include <stdio.h>
int main(){
    int a,b;
    scanf("%d%d",&a,&b);
    float c = (float) a/b;
    printf("%.2f ",c);
    printf("%d",a%b);
    return 0;
}

2-1 温度转换问题

键盘输入一个华氏温度,要求输出摄氏温度,公式为:C=5*(F-32)/9,保留两位小数(四舍五入)。其中F代表华氏温度,C代表摄氏温度。

输入格式:

键盘输入一个华氏温度F(整数)。

输出格式:

根据公式计算摄氏温度并输出,结果保留两位小数(四舍五入)。

输入样例:

120

输出样例:

在这里给出相应的输出。例如:

48.89
#include <stdio.h>
int main(){
    float F,C;
    scanf("%f",&F);
    C=(F-32)*5/9;
    printf("%.2f",C);
    return 0;
}

2-2 日期格式化

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

输入格式:

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

输出格式:

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

输入样例:

03-15-2017

输出样例:

2017-03-15

 scanf函数来按特定格式读取输入的三个整数,这里的格式是%d-%d-%d,表示输入应该包含两个连字符-。然后使用printf函数按特定格式输出这三个整数,格式为%d-%02d-%02d,其中%02d表示输出整数时保留两位数字,不足两位的在前面用0填充

#include <stdio.h>
int main(){
    int a,b,c;
    scanf("%d-%d-%d",&a,&b,&c);
    printf("%d-%02d-%02d",c,a,b);
    return 0;
}

 2-3 整数四则运算

本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。

输入格式:

输入在一行中给出2个正整数A和B。

输出格式:

在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:

3 2

输出样例:

3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1

 注意:整数除法会直接舍去小数部分取整数商。

#include <stdio.h>
int main(){
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d + %d = %d\n",a,b,a+b);
    printf("%d - %d = %d\n",a,b,a-b);
    printf("%d * %d = %d\n",a,b,a*b);
    printf("%d / %d = %d\n",a,b,a/b);
    return 0;
}

 2-4 计算存款利息

本题目要求计算存款利息,计算公式为interest=money×(1+rate)year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:

输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。

输出格式:

在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输入样例:

1000 3 0.025

输出样例:

interest = 76.89

 注意:

  1. 数据类型选择:在这段代码中,存款金额、存期和年利率都使用了float类型来存储。这里选择了float类型,但是对于更高精度的计算,可以考虑使用double类型。

  2. pow函数:代码中使用了pow函数来计算幂运算,需要包含<math.h>头文件。需要注意pow函数返回的是double类型的结果,所以在这里会自动进行类型转换为float

  3. 利息计算公式:利息计算公式中使用了复利计算的方式。如果题目要求使用简单利息计算,公式应为interest = money * year * rate

  4. 输出格式:利息值输出时使用了%.2f格式控制,保留两位小数。确保输出符合题目要求的格式。

  5. 错误处理:代码中没有包含错误处理部分,比如输入数据的合法性验证(如金额是否大于0),在实际应用中可能需要添加相应的错误处理逻辑。

#include <stdio.h>
#include <math.h>
int main(){
    float m,y,r,i;
    scanf("%f %f %f",&m,&y,&r);
    i = m*pow((1+r),y)-m;
    printf("interest = %.2f",i);
    return 0;
    
}

 2-5 是不是太胖了

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

输入格式:

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

输出格式:

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

输入样例:

169

输出样例:

124.2

 注意:

  1. 数据类型选择:身高H使用了float类型存储。对于身高等整数值,可以考虑使用int类型。

  2. 输出格式:程序中使用了%.1f格式控制来保留一位小数。确保输出符合题目要求的格式。

  3. 计算公式:代码中使用了给定的计算公式来计算标准体重,确保计算逻辑正确。

  4. 单位转换:最后输出的结果需要乘以2,以得到市斤单位的体重。

#include <stdio.h>
int main(){
    float H;
    scanf("%f",&H);
    float b = (H-100)*0.9;
    printf("%.1f",b*2);
    return 0;
}

2-6 打折

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

输入格式:

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

输出格式:

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

输入样例:

988 7

输出样例:

691.60

 注意:

  1. 数据类型选择:商品原价a和折扣b使用了float类型存储。对于整数值,可以考虑使用int类型。

  2. 输入格式:程序中使用了%f格式读取输入的浮点数值,确保输入格式正确。

  3. 计算公式:代码中使用了给定的折扣计算公式来计算折扣价,确保计算逻辑正确。

  4. 输出格式:最后输出的结果使用了%.2f格式控制,保留两位小数。

#include <stdio.h>
int main(){
    float a,b,c;
    scanf("%f %f",&a,&b);
    c = a * (b/10);
    printf("%.2f",c);
    return 0;
}

 2-7 单词加密解析

输入一个英文单词(由六个小写英文字母组成),按照下列过程将该单词加密:先将英文单词中的小写字母转换为对应的大写字母,再将该大写字母的ASCII码对10整除后取其余数,从而得到一个六位整数密码。

输入格式:

输入在一行中给出1个由六个小写英文字母组成的英文单词。

输出格式:

按照规则转换成一个六位整数密码,并输出转换的过程。

输入样例:

friday

输出样例:

f->F->0
r->R->2
i->I->3
d->D->8
a->A->5
y->Y->9

 注意:

  1. 数据类型选择:字符数组cab使用了char类型存储,整数值可以考虑使用int类型。

  2. 输入格式:程序中使用了%s格式读取输入的字符串,确保输入格式正确。

  3. ASCII码转换:代码中对字母进行ASCII码的转换和取余操作,确保转换逻辑正确。

  4. 输出格式:确保输出的转换过程符合题目要求的格式。

#include <stdio.h>
int main(){
    char c[6],a[6],b[6];
    int i;
    scanf("%s",c);
    for (i=0;i<6;i++){
        b[i] = c[i]-32;
        a[i] = (int)b[i]%10;
        printf("%c->%c->%d\n",c[i],b[i],a[i]);
    }
    return 0;
}

 2-8 计算指数

真的没骗你,这道才是简单题 —— 对任意给定的不超过10的正整数n,要求你输出2n。不难吧?

输入格式:

输入在一行中给出一个不超过10的正整数n。

输出格式:

在一行中按照格式 2^n = 计算结果 输出2n的值。

输入样例:

5

输出样例:

2^5 = 32

scanf函数读取输入的正整数n,存储在变量a中。然后使用pow函数计算2的n次幂,将结果存储在变量b中。最后使用printf函数按照指定格式输出计算结果。 

 注意:

  1. 数据类型选择:变量ab使用了int类型存储,确保整数计算和输出的准确性。

  2. 输入格式:程序中使用了%d格式读取输入的整数,确保输入格式正确。

  3. 幂运算:使用了数学库中的pow函数进行幂运算,确保计算结果准确。

  4. 输出格式:确保输出的格式符合题目要求,包括指数符号和计算结果。

#include <stdio.h>
#include <math.h>
int main(){
    int a,b;
    scanf("%d",&a);
    b=pow(2,a);
    printf("2^%d = %d\n",a,b);
    return 0;
}

2-9 后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

输入格式:

输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。

输出格式:

在一行中输出D天的后天是星期几。

输入样例:

3

输出样例:

5

scanf函数读取输入的星期数,将其存储在变量t中。然后通过(t+2)%7计算出后天对应的星期数,并将结果存储在变量m中。接着使用条件判断,如果计算出的星期数为0,则将其改为7。最后使用printf函数输出计算结果。

注意:

  1. 取模运算:使用(t+2)%7确保计算出的星期数在1到7之间循环。

  2. 条件判断:通过if (m==0) m=7;确保当计算结果为0时,将其改为7,保持星期数的正确性。

  3. 输出格式:程序使用printf函数输出计算结果,确保格式正确。

#include <stdio.h>
int main(){
    int t,m;
    scanf("%d",&t);
    m=(t+2)%7;
    if (m==0)
        m=7;
    printf("%d",m);
    return 0;
}

 

  • 34
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值