1.2034:【例5.1】反序输出
【题目描述】
输入n
个数,要求程序按输入时的逆序把这n
个数打印出来,已知整数不超过100
个。也就是说,按输入相反顺序打印这n
个数。
【输入】
输入一行共有n
个数,每个数之间用空格隔开。
【输出】
如题要求:一行,共有n
个数,每个数之间用一个空格隔开。
【输入样例】
1 7 3 4 5
【输出样例】
5 4 3 7 1
这道题的难点在于什么时候停止输入,用scanf();
拓展:
scanf()用法:
int a;
while(scanf("%d",&a)==1)
{
}
#include<iostream>
using namespace std;
int main()
{
int a[100],b,n=0;
while(scanf("%d",&b)==1)
{
a[n++]=b;
}
for(int i=n-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
return 0;
}
2.2035:【例5.2】平移数据
这道题当初把我坑惨了……
【题目描述】
将a
数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。
【输入】
第一行为数组a
的元素个数;
第二行为n
个小于1000
的正整数。
【输出】
平移后的数组元素,每个数用一个空格隔开。
【输入样例】
10
1 2 3 4 5 6 7 8 9 10
【输出样例】
2 3 4 5 6 7 8 9 10 1
这道题用到了备份以及什么域,反正不重要
#include<iostream>
using namespace std;
int main()
{
int n,bf;
cin>>n;
int a[n];
for(int i=0;i<n;i++)
{
cin>>a[i];
}
bf=a[0];
for(int i=1;i<n;i++)
{
a[i-1]=a[i];
}
a[n-1]=bf;
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
return 0;
}
标签:题目,int,样例,scanf,个数,数组,输入
From: https://www.cnblogs.com/hs1118/p/18090991