每天一练——牛客网基础语法(2)

今天还是十题,多练就对了!淦就完了!开敲!!


目录

11.成绩输入输出

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

13.出生日期输入输出

14.按照格式输入并交换输出

15. 大小写转换

16. 十六进制转十进制

17. 缩短二进制

18.牛牛的空格分隔

19.牛牛的对齐

20. 进制A+B


11.成绩输入输出

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

输入描述:一行,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);
    if((a||b||c)>=0&&(a||b||c)<=100)
        printf("score1=%d,score2=%d,score3=%d",a,b,c);
    return 0;
}

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

描述:依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩(注:输出成绩时需进行四舍五入且保留2位小数)。各科成绩使用百分制,且不可能出现负数

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

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

示例:输入:17140216;80.845,90.55,100.00 

           输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.

#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;
}

13.出生日期输入输出

描述:输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。

数据范围:年份满足1990≤y≤2015 ,月份满足1≤m≤12  ,日满足1≤d≤30 

输入描述:输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。

输出描述:三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。

示例:输入:20130225 

           输出:year=2013

                      month=02

                      date=25

#include<stdio.h>
int main()
{
    int y,m,d;
    scanf("%4d%02d%02d",&y,&m,&d);
    if((y>=1990&&y<=2015)||(m>=1&&m<=12)||(d>=1&&d<=30))
        printf("year=%d\nmonth=%02d\ndate=%02d",y,m,d);
    return 0;
}

14.按照格式输入并交换输出

描述:输入两个整数,交换两个数并输出。

输入描述:输入只有一行,按照格式输入两个整数,范围,中间用“,”分隔。

输出描述:把两个整数按格式输出,中间用“,”分隔。

示例:输入:a=1,b=2

           输出:a=2,b=1

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

//方法二(不能使用第三个变量时,此方法最优)
#include<stdio.h>
int main()
{
    int a=0;
    int b=0;
    scanf("a=%d,b=%d",&a,&b);
    a=a^b;
    b=a^b;
    a=a^b;
    printf("a=%d,b=%d",a,b);
    return 0;
}

//方法三(有一定量的局限性,超级大的数值的时候可能会报错)
#include<stdio.h>
int main()
{
    int a=0;
    int b=0;
    scanf("a=%d,b=%d",&a,&b);
    a=a-b;
    b=a-b;
    a=a-b;
    printf("a=%d,b=%d",a,b);
    return 0;
}

15. 大小写转换

描述:实现字母的大小写转换。多组输入输出。

输入描述:多组输入,每一行输入大写字母。

输出描述:针对每组输入输出对应的小写字母。

示例:输入:A B     输出:a b

getchar()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF.

#include<stdio.h>
int main()
{
    int ch=0;
    while((ch=getchar())!=EOF)
    {
        printf("%c\n",ch+32);
        getchar();
    }
    return 0;
}

16. 十六进制转十进制

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

输入描述:

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

#include<stdio.h>
int main()
{
    printf("%15d",0xABCDEF);
    return 0;
}

17. 缩短二进制

描述:通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

输入描述:

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

备注:printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示
#include<stdio.h>
int main()
{
    printf("%#o %#X",1234,1234);
    return 0;
}

18.牛牛的空格分隔

描述:牛牛从键盘读入一个字符,一个整数,一个单精度浮点数,按顺序输出它们,并用空格分隔,浮点数保留 6 位小数。

输入描述:读入一个字符,一个整数,一个单精度浮点数用换行符隔开

输出描述:按顺序输出字符、整数、单精度浮点数,用空格分隔,浮点数保留 6 位小数

示例:输入:

a

1

1.23
输出:a 1 1.230000

#include<stdio.h>
int main()
{
    char a;
    int b;
    float c;
    scanf("%c\n%d\n%f\n",&a,&b,&c);
    printf("%c %d %f",a,b,c);
    return 0;
}

19.牛牛的对齐

描述:读入 3 个整数,牛牛尝试以后两个数字占 8 个空格的宽度靠右对齐输出。

输入描述:输入三个整数,用空格隔开。

输出描述:输出 3 个整数以每个数字占 8 个空格靠右对齐输出

示例:

输入:2 7 5

输出:2        7        5

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

20. 进制A+B

描述:输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果。

输入描述:一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。

输出描述:一行,a+b的十进制结果。

示例:输入:0x12  05

        输出:23

#include<stdio.h>
int main()
{

    int a;
    int b;
    scanf("0x%x 0%o",&a,&b);
    int ret=a+b;
    printf("%d",ret);
    return 0;
}

结尾

今天的十题已经结束了给自己一个三连吧!!

既然已经选择了编程这个丰富的世界,就好好走上一回。

 期待你们的关注,我会更努力去做好每一个知识点,谢谢!!

 我是Try_harder,正在磕磕绊绊中成长~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: FPGA是一种可编程逻辑器件,可以通过编程实现各种功能。而Verilog是一种硬件描述语言,用于描述FPGA中的电路。Verilog基础语法包括模块定义、端口定义、信号定义、赋值语句、条件语句、循环语句等。模块定义是Verilog中最基本的语法,用于定义一个电路模块。端口定义用于定义模块的输入输出端口。信号定义用于定义模块内部的信号。赋值语句用于给信号赋值。条件语句用于根据条件执行不同的代码。循环语句用于重复执行一段代码。掌握Verilog基础语法是学习FPGA编程的基础。 ### 回答2: FPGA是一种可编程逻辑器件,它可以通过硬件描述语言来编写自定义的逻辑电路来实现各种功能。其中,Verilog是一种常用的硬件描述语言,有助于实现FPGA的功能。 Verilog语言主要由模块、端口、信号、语句和运算符五个基本部分组成。模块是Verilog中的最基本的语法单元,类似于传统程序语言中的函数,模块之间可以通过实例化进行连接。端口则是与外部世界进行通信的接口,可以分为输入端口(input)和输出端口(output)两种类型。信号是Verilog中表示数字信号的基本单元,可以是位向量、整数或实数。语句则是Verilog中描述操作和行为的语言,常用的语句包括赋值语句、分支语句和循环语句。运算符则是Verilog中用于进行操作的符号,包括算数运算符、逻辑运算符和位运算符。 在Verilog语言中,还有一些常用的结构体和命令可以帮助我们更方便地实现FPGA的功能。其中,常用的结构体包括always语句、case语句和module归档,常用的命令包括initial语句、wire语句和reg语句。always语句可以在指定的触发条件下执行某一段代码,case语句可以根据不同的条件执行不同的代码段,module归档则可以将多个模块合并为一个模块。initial语句可用于在仿真开始前初始化某些信号,wire语句则用于声明并连接信号,reg语句则用于声明并存储信号。 总体而言,了解FPGA和Verilog基础语法可以帮助我们更好地理解FPGA技术的应用和实现。然而,理论知识只有结合实际操作和实验才能更好地掌握。所以,我们还需要结合实际项目来进行习和实践,从而更好地掌握FPGA和Verilog基础语法。 ### 回答3: FPGA(可编程门阵列)是一种可编程逻辑器件,可以用来创建定制的数字电路。Verilog是一种硬件描述语言,用于描述数字电路的结构和行为。 Verilog基础语法有以下几个部分: 1.模块定义:Verilog代码以模块的形式进行组织,每个模块都有一个名称和端口列表。模块定义以module关键字开始,以endmodule关键字结束。 2.端口声明:模块的端口是输入和输出连接到其他模块或FPGA芯片的引脚。端口可以是输入(input)、输出(output)或双向(inout)。端口声明在模块定义中。 3.信号声明:信号是描述数字电路中状态的变量。可以是单个位(wire)或多位(reg),在模块中声明。 4.赋值语句:用来为信号赋值,包括非阻塞赋值(<=)、阻塞赋值(=)和连续赋值(assign)。 5.条件分支语句:if, else if和else语句是用来控制程序流程,实现条件判断。 6.循环语句:Verilog支持for、while、do while和forever等类型的循环语句,可以在程序中实现迭代操作。 7.模块实例化:用来将其他模块作为子模块嵌入到当前模块中,从而实现复杂的数字电路。 除上述基本语法外,Verilog还有其他常用语法,如always块、initial块和function定义等。需要深入了解和使用Verilog,可以参考相关资料和教程。掌握了Verilog语法,可以使用FPGA搭建各种个性化的数字电路,用于嵌入式系统、数字信号处理、计算机络等各种应用领域。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Try_harder.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值