东华大学2021计算机OJ题-基本练习题(1-4)

本文提供四道基础编程题目的解答方案,包括计算长方形的面积和周长、求自然数序列之和、解一元一次方程及判断月份天数。通过这些练习,帮助初学者掌握基本的数据输入输出及条件判断等编程技能。

1.求长方形的面积和周长

作者: Hu Yongjian 时间限制: 1S章节: 顺序结构

问题描述 :

求一个长方形的面积S及周长P。面积的公式为S = a × b,周长的公式P=2*(a+b),其中a代表长方形的长,b代表长方形的宽。

输入说明 :

你的程序需要从标准输入设备(通常为键盘)中读入两个整数:一个整数a(0 ≤a < 10000),代表长方形的长;一个整数b(0 ≤ b < 10000),代表长方形的宽;在a和b之间有一个空格;在行首和行尾没有多余的空格。

输出说明 :

你的程序需要向标准输出文件(通常为启动该程序的终端)输出对应的答案。答案占一行,其中包含两个整数,即长方行的面积和周长,中间以一个空格分隔。在行首和行尾不要输出多余的空格。

输入范例 :

40 5
输出范例 :

200 30

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b;//a为长,b为宽
    int s,p;//s为面积,p为周长
    scanf("%d",&a);
    scanf("%d",&b);
    s=a*b;
    p=2*(a+b);
    printf("%d %d",s,p);
    return 0;
}

  1. 数列和

作者: Hu Yongjian 时间限制: 1S章节: 顺序结构

问题描述 :

尝试求从1+2+…+N这N个自然数的和。

输入说明 :

你的程序需要从标准输入设备(通常为键盘)中读入一个整数N(1 ≤ N < 10,000);在行首和行尾没有多余的空格。在所有数据的前后,以及两组数据之间都没有多余的空行。

输出说明 :

对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的终端)输出对应的答案,其中仅有一个整数,即题目描述中的数列之和。在行首和行尾不要输出多余的空格。

输入范例 :

10
输出范例 :

55

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int sum,n;//sum为总和,n为输入的数
    sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        sum+=i;
    }
    printf("%d",sum);
    return 0;
}

3.解方程

作者: 江宝钏时间限制: 1S章节: 顺序结构

问题描述 :

编写程序:输入a、b后,输出一元一次方程2ax+3*b-5=0的解。

输入说明 :

整数a b

输出说明 :

x 保留1位小数

输入范例 :

1 2

输出范例 :

-0.5

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a,b;//a,b为参数
    double x;//x为解
    scanf("%d",&a);
    scanf("%d",&b);
    x=(double)(5-3*b)/(2*a);
    printf("%.1f",x);
    return 0;
}

4.一个月的天数

作者: Turbo时间限制: 1S章节: 分支结构

问题描述 :

输入年和月,输出该月有几天。

输入说明 :

输入两个整数,中间以空格分隔,第一个整数表示年,第二个整数表示月。

输出说明 :

输出该年该月的天数,输出时,行首与行尾均无空格,仅输出一个整数。

输入范例 :

2000 2
输出范例 :

29

AC代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int year,month;//year为年,month为月
    int day;
    day=30;
    scanf("%d",&year);
    scanf("%d",&month);
    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
    {
         day+=1;
    }
    if(month==4||month==6||month==9||month==11){
        day+=0;
    }
    if(month==2){
        if((year%4==0&&year%100!=0)||year%400==0){
                day-=1;
            }else{
                day-=2;
            }
    }
    printf("%d",day);
    return 0;
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值