【C语言】编程初学者入门训练(1)

1. 实践出真知

  • 题目内容:于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”

  • 输入描述:无

  • 输出描述:Practice makes perfect!

  • 解析:本题是一个没有输入要求的题目,只考察输出,所以只需要准确无误的输出结果就行了。

  • 代码实现

#include <stdio.h>

int main()
{
        printf("Practice makes perfect!\n");
        return 0;
}

2. 我是大V

  • 题目描述:每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。
  • 输入描述:无
  • 输出描述
v   v 
 v v  
  v
  • 备注:换行使用转义字符 ‘\n’。
  • 代码实现
#include <stdio.h>

int main()
{
        printf("v   v\n");
        printf(" v v \n");
        printf("  v  \n");

        return 0;
}

3. 有容乃大

  • 题目描述:确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。
  • 输入描述:无
  • 输出描述:不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。输出样例如下:
    • The size of short is ? bytes.
    • The size of int is ? bytes.
    • The size of long is ? bytes.
    • The size of long long is ? bytes.
  • 代码实现
#include <stdio.h>

int main()
{
        printf("The size of short is %d bytes.\n",sizeof(short));
        printf("The size of int is %d bytes.\n",sizeof(int));
        printf("The size of long is %d bytes.\n",sizeof(long));
        printf("The size of long long is %d bytes.\n",sizeof(long long));

        return 0;
}
The size of short is 2 bytes.
The size of int is 4 bytes.
The size of long is 8 bytes.
The size of long long is 8 bytes.

4. 小飞机

  • 问题描述:KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。
  • 输入描述:无
  • 输出描述

在这里插入图片描述

  • 代码实现
#include <stdio.h>

int main()
{
        printf("     **     \n");
        printf("     **     \n");
        printf("************\n");
        printf("************\n");
        printf("    *  *    \n");
        printf("    *  *    \n");

        return 0;
}
     **     
     **     
************
************
    *  *    
    *  * 

5. 缩短2进制

  • 问题描述:我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

  • 输入描述:无

  • 输出描述:十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。

  • 备注:printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示。

  • 代码实现

#include <stdio.h>

int main()
{
        printf("%#o %#X\n",1234,1234);

        return 0;
}
02322 0X4D2

6. 十六进制转十进制

  • 问题描述:BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。

  • 输入描述:无

  • 输出描述:十六进制整数ABCDEF对应的十进制整数,所占域宽为15。

  • 备注:printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。

  • 代码实现

#include <stdio.h>

int main()
{
        int a = 0xABCDEF;
        printf("%15d\n",a);

        return 0;
}
       11259375

7. printf的返回值

  • 问题描述:KiKi写了一个输出“Hello world!”的程序,BoBo老师告诉他printf函数有返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗?
  • 输入描述:无
  • 输出描述:包括两行:
    • 第一行为“Hello world!”
    • 第二行为printf(“Hello world!”)调用后的返回值。
  • 代码实现
#include <stdio.h>

int main()
{
        int a = printf("Hello world!");
        printf("\n%d\n",a);

        return 0;
}
Hello world!
12

8. 成绩输入输出

  • 问题描述:输入3科成绩,然后把三科成绩输出,成绩为整数形式。

  • 数据范围: 0 ≤ n ≤ 100

  • 输入描述:一行,3科成绩,用空格分隔,范围(0~100)。

  • 输出描述:一行,把3科成绩显示出来,输出格式详见输出样例。

    • 输入:60 80 90
    • 输出:score1=60,score2=80,score3=90
  • 代码实现

#include <stdio.h>

int main()
{
        int a,b,c;

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

        printf("score1= %d,score2= %d,score3= %d\n",a,b,c);

        return 0;
}

9. 学生基本信息输入输出

  • 问题描述:依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。

  • 数据范围:学号满足 1≤n≤20000000 ,各科成绩使用百分制,且不可能出现负数

  • 输入描述:学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。

  • 输出描述:学号,3科成绩,输出格式详见输出样例。

    • 示例1:
      • 输入:17140216;80.845,90.55,100.00
      • 输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.
    • 示例2:
      • 输入:123456;93.33,99.99,81.20
      • 输出:The each subject score of No. 123456 is 93.33, 99.99, 81.20.
  • 代码实现

#include <stdio.h>

int main()
{
        int a;
        float b,c,d;

        scanf("%d;%f,%f,%f",&a,&b,&c,&d);
        printf("The each subject score of No. %d is %.2f, %.2f, %.2f.",a,b,c,d);
        
        return 0;
}

10. 字符圣诞树

  • 问题描述:输入一个字符,用它构造一个边长为5的三角形圣诞树。

  • 数据范围:保证输入的字符是一个 char 类型的值

  • 输入描述:输入只有一行,一个字符。

  • 输出描述:该字符构成的三角形圣诞树。

  • 示例

	1
   1 1
  1 1 1
 1 1 1 1
1 1 1 1 1
  • 代码实现
#include <stdio.h>

int main(void)
{
    char a;
    int b,c,d,e;

    scanf("%c", &a);

    for (b = 5, c = 1; c <= b; c++)
    {
        for (d = 5 - c; d > 0; d--) 
        {
                printf(" ");
        }
        for (e = 1; e <= c; e++)
        {
                printf("%c ", a);
        }
        printf("\n");
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值