OJ 程序设计基础(B) I 实验一

A - C语言实验——Hello World!printf练习)

Description

很高兴你能上机实践所学的C语言知识!
编程不是在课本上的几页纸就能学会的,你必须多思考、多上机才能真正学会一门编程语言,这也是我们出这些题目的初衷。
这些题目都是课本上的基本题目,主要目的是让大家巩固课堂上所学到的,希望大家能够认真对待!
为了便于调试题目,做这些题目时可以先在CodeBlocksDevC++Microsoft VC++6.0中调试成功后再提交。
下面我们就开始吧:

利用C语言基本格式显示以下内容: Hello World!

Input

本题没有输入数据

Output

输出字符串Hello World!输出后需要换行。

Sample

Output 

Hello World!

#include<stdio.h>

int main( )

{

    printf("Hello World!\n");

    return 0;

}

B - C语言实验——输出字符串

Description

在屏幕上输出一行信息:This is a C program.

Input

无输入数据。

Output

输出字符串This is a C program.

Sample

Output 

This is a C program.

# include<stdio.h>

int main( )

{

    printf("This is a C program.\n");

    return 0;

}

C - C语言实验——图形输出(字符常量练习)

Description

用基本输出语句打印以下图形:
#
##
###
####
#####
######

Input

本题目没有输入数据

Output

输出图形由6行组成,第1行有1#号,第i行有连续的i#号:
#
##
###
####
#####
######

Sample

Output 

#
##
###
####
#####
######

#include<stdio.h>

int main( )

{

    printf("#\n");

    printf("##\n");

    printf("###\n");

    printf("####\n");

    printf("#####\n");

    printf("######\n");

    return 0;

}

D - C语言实验——求两个整数之和

Description

求两个整数之和,不从键盘输入数据,直接使用赋值语句(a=123b=456)输入数据,然后计算两个整数之和输出。

Input

无输入数据。

Output

输出ab之和。

Sample

Output 

sum is 579

#include<stdio.h>

int main ( )

{

    int a, b, sum;

    a=123;

    b=456;

    sum=a+b;

    printf("sum is %d\n",sum);

    return 0;

}

E - A+B Problem

Description

Calculate a + b.

Input

Two integer a, b (0 <= a, b <= 10).

Output

Output a + b.

Sample

Input 

1 2

Output 

3

#include<stdio.h>

int main ( )

{

    int a,b;

    scanf("%d %d",&a,&b);

    printf("%d",a+b);

    return 0;

}

F - C语言实验——交换两个整数的值(顺序结构)

Description

交换两个变量的值,由终端输入两个整数给变量xy,然后交换xy的值后,输出xy

Input

从键盘输入两个整数变量xy

Output

在交换xy的值后将xy输出!

Sample

Input 

4 6

Output 

6 4

#include<stdio.h>

int main( )

{

    int x, y;

    scanf("%d %d",&x,&y);

    printf("%d %d",y,x);

    return 0;

}

G - C语言实验——逆置正整数

Description

输入一个三位正整数,将它反向输出。

Input

3位正整数。

Output

逆置后的正整数。

Sample

Input 

123

Output 

321

Hint

注意130逆置后是31

#include<stdio.h>

int main ( )

{

    int a,b,c,e,s,t;

    scanf("%d",&a);

    b=a/100;

    c=a%100;

    e=c%10;

    s=c/10;

    t=e*100+s*10+b;

    printf("%d",t);

    return 0;

}

H - C语言实验——买糖果

Description

小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?

Input

输入爸爸给小瑜的钱n元,n为整数。

Output

小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。

Sample

Input 

2

Output 

6 2

#include<stdio.h>

int main( )

{

    int a,b,c;

    scanf("%d",&a);

    b=a*10/3;

    c=a*10%3;

    printf("%d %d",b,c);

    return 0;

}

I - C语言实验——三个整数和、积与平均值

Description

给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。

Input

输入只有三个正整数abc

Output

输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。

Sample

Input 

2 3 3

Output 

8 18 2.67

#include<stdio.h>

int main( )

{

    int a,b,c,s,sum;

    float t;

    scanf("%d %d %d",&a,&b,&c);

    sum=a+b+c;

    s=a*b*c;

    t=sum/3.0;

    printf("%d %d %.2f\n",sum,s,t);

    return 0;

}

J - C语言实验——格式化输出(常量练习)

Description

c语言的基本输出格式打印下列内容:
100
A
3.140000

Input

本题目没有输入数据

Output

输出三行数据:
100
A
3.140000

Sample

Output 

100
A
3.140000

#include<stdio.h>

int main( )

{

    printf("100\n");

    printf("A\n");

    printf("3.140000\n");

    return 0;

}

K - C语言实验——圆柱体计算

Description

已知圆柱体的底面半径r和高h,计算圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积。其中圆周率定义为3.1415926

Input

输入数据有一行,包括2个正实数rh,以空格分隔。

Output

输出数据一行,包括圆柱体底面周长和面积、圆柱体侧面积以及圆柱体体积,以空格分开,所有数据均保留2位小数。

Sample

Input 

1 2

Output 

6.28 3.14 12.57 6.28

#include <stdio.h>

int main()

{

    int r,h;

    double s,t,v,c,a;

    a=3.1415926;

    scanf ("%d %d",&r,&h);

    c=a*2*r;

    t=a*r*r;

    s=h*c;

    v=t*h;

    printf ("%.2f %.2f %.2f %.2f",c,t,s,v);

    return 0;

}

L - C语言实验——温度转换

Description

输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9

Input

输入数据只有一个实数,即华氏温度。

Output

输出数据只有一个,即摄氏温度,保留2位小数。

Sample

Input 

32.0

Output 

0.00

#include <stdio.h>

int main()

{

    double c,f;

    scanf ("%lf",&f);

    c=5*(f-32)/9;

    printf ("%.2f\n",c);

    return 0;

}

M - C语言实验——单个字符输入和输出(顺序结构)

Description

getchar()从键盘上输入一个字符,用putchar()打印出来!

Input

从键盘上输入一个字符!

Output

把刚刚输入的字符打印出来!

Sample

Input 

A

Output 

A

#include <stdio.h>

int main()

{

    char a;

    scanf ("%c",&a);

    printf ("%c",a);

    return 0;

}

N - C语言实验——转换字母(顺序结构)

Description

从键盘上输入一个小写字母,然后将小写字母装换成大写字母输出!

Input

从键盘上输入一个小写字母。

Output

小写字母装换成大写字母输出。

Sample

Input 

a

Output 

A

#include<stdio.h>

int main ( )

{

    char x,y;

    scanf ("%c",&x);

    y=x-32;

    printf ("%c",y);

    return 0;

}

O - 实数的输出和占位

Description

输入一个实数,请你按如下要求输出:

第一行按双精度默认输出,

第二行双精度数输出共占 10 位,其中 3 位小数,右对齐,左补空格并在两端添加星号包裹,

第三行双精度数输出共占 10 位,其中 3 位小数,左对齐,右补空格并在两端添加星号包裹。

Input

一个double范围内的正实数 a  

Output

共三行,按题目描述输出。

Sample

Input 

123.56789

Output 

123.567890
*   123.568*
*123.568   *

#include<stdio.h>

int main ( )

{

    double x;

    scanf ("%lf",&x);

    printf ("%f\n",x);

    printf ("*%10.3f*\n",x);

    printf ("*%-10.3f*\n",x);

    return 0;

}

P - 大整数的输入输出

Description

输入两个 long long 范围内的整数,输出他们的和。

Input

两个 long long 范围内的整数。

Output

输出的两个大整数的和,保证结果在 long long 范围内。

Sample

Input 

2222222222
3333333333

Output 

5555555555

#include<stdio.h>

int main ( )

{

    long long x,y,z;

    scanf ("%lld %lld",&x,&y);

    z=x+y;

    printf ("%lld\n",z);

    return 0;

}

Q - 字符的输出

Description

输入一个字符,输出两行。

第一行将字符用 ' 包裹。

第二行将字符用 " 包裹。

Input

输入一个字符。

Output

按题目描述输出。

Sample

Input 

A

Output 

'A'
"A"

#include<stdio.h>

int main ( )

{

    char x;

    scanf ("%c",&x);

    printf ("\'%c\'\n",x);

    printf("\"%c\"\n",x);

    return 0;

}

R - '%'字符的输入输出

Description

输入三个用 `` % `` 分割的正整数 a b c 代表月,日,年,

要求按照输入样式原样输出。

Input

三个int范围内的正整数,中间用 `` %`` 分割。

Output

按题目描述原样输出。

Sample

Input 

9%17%2018

Output 

9%17%2018

#include<stdio.h>

int main ( )

{

    int a,b,c;

    scanf ("%d%%%d%%%d",&a,&b,&c);

    printf ("%d%%%d%%%d",a,b,c);

    return 0;

}

S - ‘\’字符的输入输出

Description

输入三个用 `` \ `` 分割的正整数 a b c 代表日,月,年,

要求按照输入样式原样输出。

Input

三个int范围内的正整数,中间用 `` \ `` 分割。

Output

按题目描述原样输出。

Sample

Input 

9\17\2018

Output 

9\17\2018

#include<stdio.h>

int main ( )

{

    int a,b,c;

    scanf ("%d\\%d\\%d",&a,&b,&c);

    printf ("%d\\%d\\%d",a,b,c);

    return 0;

}

T - 十六进制数输出和占位

Description

输入一个整数,请你按如下要求输出:

第一行按原样输出,

第二行以十六进制输出(字母小写),

第三行以十六进制输出(字母大写)。

Input

一个int范围内的正整数 a  

Output

共三行,按题目描述输出。

Sample

Input 

456

Output 

456
1c8
1C8

#include<stdio.h>

int main ( )

{

    int a;

    scanf ("%d",&a);

    printf ("%d\n",a);

    printf ("%x\n",a);

    printf ("%X\n",a);

    return 0;

}

U - 八进制数输出和占位

Description

输入一个整数,请你按如下要求输出:

第一行按原样输出,

第二行以八进制靠右输出,不足 8 位左补 0 并在两端添加星号包裹,

第三行以八进制靠左输出,不足 8 位右补空格并在两端添加星号包裹。

Input

一个int范围内的正整数 a  

Output

共三行,按题目描述输出。

Sample

Input 

123

Output 

123
*00000173*
*173     *

#include<stdio.h>

int main ( )

{

    int a;

    scanf ("%d",&a);

    printf ("%d\n",a);

    printf ("*%08o*\n",a);

    printf ("*%-8o*\n",a);

    return 0;

}

V - 十进制输入输出和其它非空格占位

Description

输入一个整数,请你按如下要求输出:

第一行按原样输出,

第二行整数靠右原样输出,不足 8 位左补 0 并在两端添加星号包裹,

第三行整数靠左原样输出,不足 8 位右补空格并在两端添加星号包裹。

Input

一个int范围内的正整数 a  

Output

共三行,按题目描述输出。

Sample

Input 

123456

Output 

123456
*00123456*
*123456  *

#include<stdio.h>

int main ( )

{

    int a;

    scanf ("%d",&a);

    printf ("%d\n",a);

    printf ("*%08d*\n",a);

    printf ("*%-8d*\n",a);

    return 0;

}

W - 十进制输入输出和空格占位

Description

输入一个整数,请你按如下要求输出:

第一行按原样输出,

第二行按原样靠右输出,不足 8 位左补空格并在两端添加星号包裹,

第三行按原样靠左输出,不足 8 位右补空格并在两端添加星号包裹。

Input

一个int范围内的正整数 a  

Output

共三行,按题目描述输出。

Sample

Input 

123456

Output 

123456
*  123456*
*123456  *

#include<stdio.h>

int main ( )

{

    int a;

    scanf ("%d",&a);

    printf ("%d\n",a);

    printf ("*%8d*\n",a);

    printf ("*%-8d*\n",a);

    return 0;

}

X - 字符型数据输出和占位

Description

输入一个字符,请你按如下要求输出:

第一行字符数据默认输出,

第二行字符型数据输出共占 4 位,右对齐,左补 3 个空格并在两端添加星号包裹,

第三行字符型数据输出共占 4 位,左对齐,右补 3 个空格并在两端添加星号包裹。

Input

输入一个字符  

Output

共三行,按题目描述输出。

Sample

Input 

c

Output 

c
*   c*
*c   *

#include<stdio.h>

int main ( )

{

    char a;

    scanf ("%c",&a);

    printf ("%c\n",a);

    printf ("*%4c*\n",a);

    printf ("*%-4c*\n",a);

    return 0;

}

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值