刷题训练-1

今天的学习内容主要是刷牛客网上的C语言基础编程题(当然刷了15题就刷不下去了,PS:还没学习到。。。。)

目录

1.打印"Hello World"

2.打印"小飞机"

3. 输入整数,输出整数

4.输入浮点数,输出浮点数(保留三位小数)

5.输入字符,输出字符

6.输入三个整数 输出第二个整数的值

7.输入一个char类型字符,输出这个字符组成的3*3矩形

8.输入一个char类型字符,输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形

9.输入一个字符,输出输入字符对应的ASCII码

10.随机输入浮点数,输出四舍五入之后的整数

11.输入三科成绩,输出三科成绩

12.输入学号以及三科成绩,输出学号以及三科成绩

13.输入一个人的出生日期(只有一行,包括年月日),输出生日中的年、月、日

14.输入两个整数,交换两个整数并且输出

15.循环输入大写字母,将大写字母转换为小写形式


1.打印"Hello World"

C语言的开端哦~打印Hello World

//打印hello world
#include <stdio.h>			//引入头文件

int main()
{
	printf("hello world!\n"); //打印hello world
	return 0;				//使main函数返回一个整数0
}

2.打印"小飞机"

学习了打印函数printf,现在就用他来打印一个飞机吧

//打印"小飞机"
#include <stdio.h>

int main()
{
	//打印飞机头
	printf("     **\n");
	printf("     **\n");
	//打印飞机身
	printf("*************\n");
	printf("*************\n");
	//打印飞机尾
	printf("    *  *\n");
	printf("    *  *\n");
	return 0;
}

3. 输入整数,输出整数

学习了输入函数scanf,了解他的使用途径

//输入整数,输出整数
#include <stdio.h>

int main()
{
	int a = 0;			//定义一个整形变量a,并且使他初始值为0
	scanf("%d", &a);    //输入一个整数,使他存储到变量a中
	printf("%d", a);	//以整数形式输出变量a
	return 0;
}

4.输入浮点数,输出浮点数(保留三位小数)

这道题其实和第3题差不多,不过保留三位小数使用了格式控制符

//输入浮点数,输出浮点数(保留三位小数)
#include <stdio.h>

int main()
{
	float a = 0;		//定义一个浮点型变量a,并且使他的初始值为0
	scanf("%f", &a);	//输入一个浮点数,使他存储到变量a中
	printf("%0.3f", a);		//以三位小数的浮点数形式输出变量a
	return 0;
}

5.输入字符,输出字符

这道题就跟第3题大同小异了

//输入字符,输出字符
#include <stdio.h>

int main()
{
	char a = 0;			//定义一个字符变量a,并且使他的初始值为0
		scanf("%c", &a);	//输入一个字符,使他存储到变量a中
		printf("%c", a);	//以字符形式输出变量a
	return 0;
}

6.输入三个整数 输出第二个整数的值

了解库函数scanf的连续输入

//输入三个整数 输出第二个整数的值
#include <stdio.h>

int main()
{
	int a = 0, b = 0, c = 0;	//定义三个整形变量a,b,c并且使他们的初始值为0
	scanf("%d%d%d", &a, &b, &c);	//输入三个整数,使他们分别存储到a,b,c中
	printf("%d", b);				//以十进制整数形式输出变量b
	return 0;
}

7.输入一个char类型字符,输出这个字符组成的3*3矩形

库函数scanf和printf的组合技!

//输入一个char类型字符,输出这个字符组成的3*3矩形
#include <stdio.h>

int main()
{
	char ch = 0;
	scanf("%c", &ch);
	//打印3*3矩形
	printf("%c%c%c\n",ch,ch,ch);
	printf("%c%c%c\n",ch,ch,ch);
	printf("%c%c%c\n",ch,ch,ch);
	return 0;
}

8.输入一个char类型字符,输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形

跟第7题大同小异啦~

//输入一个char类型字符,输出一个用这个字符填充的对角线长5个字符,倾斜放置的菱形
#include <stdio.h>

int main()
{
	char ch = 0;
	scanf("%c", &ch);
	//打印目标菱形
	printf("  %c\n", ch);
	printf(" %c%c%c\n", ch,ch,ch);
	printf("%c%c%c%c%c\n", ch,ch,ch,ch,ch);
	printf(" %c%c%c\n", ch,ch,ch);
	printf("  %c\n", ch);
	return 0;
}

9.输入一个字符,输出输入字符对应的ASCII码

这个就要事先了解ASCII码了,百度救我!!!!!

//输入一个字符,输出输入字符对应的ASCII码
#include <stdio.h>

int main()
{
	char ch = 0;
	scanf("%c", &ch);
	printf("%d", ch);//以整数形式输出字符
	return 0;
}

10.随机输入浮点数,输出四舍五入之后的整数

万万没想到%.0f自带四舍五入的功能o(╥﹏╥)o,还花了好多时间写解法1

//随机输入浮点数,输出四舍五入之后的整数
//法1
#include <stdio.h>

int main()
{
    float a = 0;
    scanf("%f", &a);
    int b = a * 10;     //引入一个整形变量b,把a的小数点后一位提到个位数,防止被清除
    if (b % 10 >= 5)    //判断b的个位数的情况
        printf("%d", (int)(a + 1));     //如果大于等于5,输出a+1的整数形式,代表四舍五入的"入"
    else if (b % 10 <= -5)
        printf("%d", (int)(a - 1));     //如果小于等于-5,输出a-1的整数形式,代表四舍五入的"入"
    else
        printf("%d", (int)a);           //如果大于-5小于5,输出a的整数形式,代表四舍五入的"舍"
    return 0;
}
//法2
#include <stdio.h>

int main()
{
    float a = 0;
    scanf("%f", &a);
    printf("%.0f", a); //直接四舍五入
    return 0;
}

11.输入三科成绩,输出三科成绩

这道题其实就跟第7题和第8题差不多了

//输入三科成绩,输出三科成绩
#include <stdio.h>

int main()
{
    float a = 0, b = 0, c = 0;
    scanf("%f%f%f", &a, &b, &c);        //输入三科成绩
    printf("score1=%.0f,score2=%.0f,score3=%.0f", a, b, c);         //打印三科成绩
    return 0;
}

12.输入学号以及三科成绩,输出学号以及三科成绩

这道题主要就是提前定好了scanf的输入格式

#include <stdio.h>

int main()
{
    int number = 0;
    float score1 = 0, score2 = 0, score3 = 0;
    scanf("%d;%f,%f,%f", &number, &score1, &score2, &score3);       //输入学号以及三科成绩
    printf("The each subject score of No. %d is %0.2f, %0.2f, %0.2f.", number, score1, score2, score3);     //输出学号以及三科成绩,并且把成绩保留2位小数。    
    return 0;
}

13.输入一个人的出生日期(只有一行,包括年月日),输出生日中的年、月、日

利用了scanf%m的格式控制符,还有printf%0的格式控制符

//输入一个人的出生日期(只有一行,包括年月日),输出生日中的年、月、日
#include <stdio.h>

int main()
{
    int year = 0, m = 0, d = 0;
    scanf("%4d%2d%2d", &year, &m, &d);         //通过%4d,%2d,%2d指定输入域宽
    printf("year=%d\nmonth=%02d\ndate=%02d", year, m, d);       //通过%02d自动补0
    return 0;
}

14.输入两个整数,交换两个整数并且输出

这道题主要就是要先把变量a储存的数据转移出去,避免丢失嘛

//输入两个整数,交换两个整数并且输出
#include <stdio.h>

int main()
{
    int a = 0, b = 0, temp = 0;
    scanf("a=%d,b=%d", &a, &b);
    temp = a, a = b, b = temp; //将a储存的数据传输给变量temp,再将变量b储存的数据传输给变量a,最后把变量temp储存的数据传输给b,完成a,b之间的数据交换。
    printf("a=%d,b=%d", a, b);
    return 0;
}

15.循环输入大写字母,将大写字母转换为小写形式

同样的ASCII码,却多了循环输入o(╥﹏╥)o

//循环输入大写字母,将大写字母转换为小写形式
#include <stdio.h>

int main() 
{
    char ch = 0;
    while (scanf("%c", &ch) != EOF) 
    {
        getchar();   //循环多次读入,利用getchar消去读入的换行符\n
        printf("%c\n", ch + 32);        //ch+32即为小写字母
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值