前言:今天是咱们第二期刷牛客网上的题目。
目标:对输入输出的格式,方法,类型掌握熟练,对double,float理解深入,编程思想更进一步。
鸡汤:人活着,再苦再累,都别抱怨,要努力,越努力,才会越幸运。抱怨,只会增加怨气,努力,才能改变气运。先干为敬,大家随意。
##第一题
#include <stdio.h>
int main()
{
//初始化
int score1 = 0;
int score2 = 0;
int score3 = 0;
//输入
scanf("%d %d %d",&score1,&score2,&score3);
//输出
printf("score1=%d,score2=%d,score3=%d\n",score1,score2,score3);
return 0;
}
##第二题
1.如果使用double不会四舍五入,需要用float,初始化时需要0.0,来区别double
2.输入时,空不能多,符号不要用错
3.输出是,空不能少,符号不要用错
#include <stdio.h>
int main()
{
//初始化
int num = 0;//学号
float C = 0.0;//C语言成绩
float math = 0.0;//数学成绩
float eng = 0.0;//英语成绩
//输入
scanf("%d;%f,%f,%f",&num,&C,&math,&eng);
//输出
printf("The each subject score of No. %d is %.2f, %.2f, %.2f.\n",num,C,math,eng);
return 0;
}
##第三题
1.输入时没有空格,需要用%4d
2.输入时需要补零
#include <stdio.h>
int main()
{
//初始化
int year = 0;
int month = 0;
int day = 0;
//输入
scanf("%4d%2d%2d",&year,&month,&day);
//输出
printf("year=%d\nmonth=%02d\ndate=%02d\n",year,month,day);
return 0;
}
##第四题
C语言的初阶中https://blog.csdn.net/AAlykk/article/details/130657060有道金典的笔试题,不创建变量交换数值,有兴趣的小伙伴可以去看看
#include <stdio.h>
int main()
{
//初始化
int a = 0;
int b = 0;
int tmp = 0;
scanf("a=%d,b=%d",&a,&b);
//交换
tmp = a;
a = b;
b = tmp;
printf("a=%d,b=%d\n",a,b);
return 0;
}
##第五题
1.EOF意为-1。本语句即只要输入项是字符即可打印
2.因为回车也算一个字符,所以在输入第一个字符换行后,getchar会读取换行的回车键
3.换行的回车被读取,若防止回车被读取,可在其前面多读取一次消耗回车
4.大写的A的ASCLL值为65,小写的a的ASCLL值为97
#include <stdio.h>
int main()
{
//定义变量
char ch;
//实现多组输入
while ((ch = getchar()) != EOF)//EOF意为-1。本语句即只要输入项是字符即可打印
{
//因为回车也算一个字符,所以在输入第一个字符换行后,getchar会读取换行的回车键
//换行的回车被读取,若防止回车被读取,可在其前面多读取一次消耗回车
getchar();
putchar(ch + 32);
printf("\n");
}
return 0;
}
##第六题
1.十六进制是0x开头
2.%15d是所占宽域为15
#include <stdio.h>
int main()
{
//初始化
int a=0XABCDEF;
//输出
printf("%15d",a);
return 0;
}
##第七题
1.%o是八进制输出
2.%x是十六进制输出
#include <stdio.h>
int main()
{
//初始化
int a=1234;
//输出
printf("%#o %#X",a,a);
return 0;
}
##第八题
#include <stdio.h>
int main()
{
//初始化
char ch;
int a = 0;
double b = 0;
//输入
scanf("%c\n%d\n%lf",&ch,&a,&b);
//输出
printf("%c %d %lf\n",ch,a,b);
return 0;
}
##第九题
#include <stdio.h>
int main()
{
//初始化
int a = 0;
int b = 0;
int c = 0;
//输入
scanf("%d %d %d",&a,&b,&c);
printf("%d%8d%8d\n",a,b,c);
return 0;
}
##第十题
#include <stdio.h>
int main()
{
//初始化
int a,b,result;
//输入
scanf("%x %o",&a,&b);
//相加
result=a+b;
//输出
printf("%d",result);
return 0;
}
今天的刷题内容就到这里啦,如果上面的题目你有更优的解法,请打在下面的评论区中,独乐乐不如众乐乐。麻烦大家举起自己的小手,给博主三连,有你们的支持就是我最大的动力。预知后事如何,且听下回分解。