首页 > 代码库 > OJ刷题之《输入10个整数》
OJ刷题之《输入10个整数》
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
提示
主函数已给定如下,提交时不需要包含下述主函数
/* C/C++代码 */
int main()
{
const int n=10;
int a[n];
input(a,n);
handle(a,n);
output(a,n);
return 0;
}
#include <iostream> using namespace std; void input(int *a,int n) { int i=0; while (i<n) { cin>>*(a+i); i++; } } void handle (int *a,int n) { int i=0,max=*(a+n-1),min=*a,t,k1,k2; while (i<n) { if (*(a+i)>max) { max=*(a+i); k1=i; } else if(*(a+i)<min) { min=*(a+i); k2=i; } i++; } t=*(a+k1); *(a+k1)=*(a+n-1); *(a+n-1)=t; t=*(a+k2); *(a+k2)=*a; *a=t; *(a+n)='\0'; } void output(int *a,int n) { int i; for(i=0;*a!='\0';i++) { cout<<*a<<" "; a++; } } int main() { const int n=10; int a[n]; input(a,n); handle(a,n); output(a,n); return 0; }
还是无法提交图片。一定要注意指针的界限,我在输入的函数里用的cin>>*a;a++;i++;然后就访问到了未知的地址,提交后就显示的运行错误,再有就还是*(a+n)=‘\0‘的问题。要牢记,不然输出的时候后面会多很多数。
OJ刷题之《输入10个整数》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。