基础算法I 笔记
经验分享区第一个帖子
第一讲 scanf 和 printf(简称C入门
\color{red}{也是成功Wonderful Answer}
题目:
1. 日期
题目ID:9534必做题100分
最新提交:
Accepted
100 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
时间:1s 空间:512M
公历日期标准格式为:2007年2月6日;或:2007-02-06。现在请你读入一个日期,将年份增加20后再按正确格式输出,如:2027-02-06。
注意如果月和日为一位数,输出要在前面补零变成两位数。年份一定是四位数。
输入格式
三个整数,用-
隔开,分别表示为年月日。
输出格式
见样例输出
样例
Input 1
1945-9-2
Output 1
1965-09-02
代码&思路
\color{green}(思路如下:)
这道题很简单 使用printf 和 scanf 即可
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int Ysy, YSY, ysy;
char Ikun, ikun;
cin >> Ysy >> Ikun >> YSY >> ikun >> ysy;
Ysy += 20;
cout << setw(4) << setfill('0') << Ysy << "-";
cout << setw(2) << setfill('0') << YSY << "-";
cout << setw(2) << setfill('0') << ysy << endl;
return 0;
}
2. 按格式输出变量
题目ID:9535必做题100分
最新提交:
Accepted
100 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 524288kB
题目描述
制作excel表格时,为了美观,我们都会将每列统一左对齐、居中或右对齐,在编程中同样也可以如此,接下来请你输入三个整型变量,输出时将三个变量分三行输出,并统一占9位、右对齐。
【输入】
输入三个整型变量。
【输出】
输出三行,每行一个变量,占9位,右对齐。
【样例输入】
12 345 6789
【样例输出】
12
345
6789
时间限制:
1000
空间限制:
65536
代码&思路
\color{green}(思路如下:)
$$$ 这道题很简单 使用printf 和 scanf 即可
代码
#include <bits/stdc++.h>
#include <cstdio>//printf 和 scanf
using namespace std;
int main()
{
int Ysy , ysy , YSY;
scanf("%d",&Ysy);//输入第一个
scanf("%d",&ysy);//输入第二个
scanf("%d",&YSY);//输入第三个
printf("%9d\n",Ysy);
printf("%9d\n",ysy);
printf("%9d\n",YSY);
return 0;
}
3. 浮点除法
题目ID:3572必做题100分
最新提交:
Accepted
100 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 131072kB
题目描述
时间:0.2 空间:32M
题目描述:
输入两个整数$a,ba,b$, 输出$aa$除以$bb$的值,保留三位小数
输入格式:
输入两个整数
输出格式:
输出一个浮点数
样例输入:
5 2
样例输出:
2.500
代码&思路
\color{green}(思路如下:)
这道题很简单 使用cin 和 cout 即可
代码
#include <bits/stdc++.h>
#include <cstdio>//printf 和 scanf
using namespace std;
int main()
{
double Ysy , Ysyawa;
cin >> Ysy >> Ysyawa;
cout << fixed << setprecision(3) << Ysy / Ysyawa << endl;
return 0;
}
4. 横式竖式计算
题目ID:1104必做题100分
最新提交:
Accepted
100 分
历史最高:
Accepted
100 分
时间限制: 1000ms
空间限制: 65536kB
题目描述
时间:1s 空间:256M
题目描述:
输入两个数,分别打印这两个数的横式和竖式运算式子。
输入格式:
输入两个整数$a,ba,b$ 以空格隔开
输出格式:
第一行打印横式运算式子,接下来四行打印竖式运算式子
样例输入:
45 237
样例输出:
45+237=282
45
+ 237
-------
282
约定:
0<=a,b<=10000<=a,b<=1000
竖式格式:
“+"前面无空格,横线一共7个”-",个位要求对齐。
代码&思路
\color{green}(思路如下:)
这道题很简单 使用cin 和 cout 即可
代码
#include<bits/stdc++.h>
#include<cstdio>
using namespace std;
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d+%d=%d\n",a,b,a+b);
printf("%7d\n",a);
printf("+");
printf("%6d\n",b);
printf("-------\n");
printf("%7d\n",a+b);
return 0;
}