using-输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换。用指针实现,但是程序崩溃了

问题描述

输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换。用指针实现,但是程序崩溃了

#include
#include

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main()
{ int a[10],i, p, *q, *n;
printf("请输入十个数n");
for (i = 0; i < 10; i++)
scanf_s("%d", a[i]);
for (i = 0; i < 10; i++)
{
p =&a[0];
if (
(p+1) <= *p)
*n = *(p+1); *(p+1) = *p; *p = *n;
}
for (i = 0; i < 10; i++)
{
q =&a[9];
if (*q <= *(q+1))
*n = *(q+1); *(q+1) = *q; *q = *n;

}
for (i = 0; i < 10; i++)
printf("%dn", a[i]);
}

解决方案

只想问,这写的什么鬼。

解决方案二:

for (i = 0; i < 10; i++)
{
p =&a[0];
if ((p+1) <= p)
*n = *(p+1); *(p+1) = *p; *p = *n;
}
->
int max = 0;
for (i = 0; i < 10; i++)
{
p =&a[0];
if (
(p + i) > *(p + max)) max = i;
}
*n = *(&a[0] + max); *(&a[0] + max) = a[0]; a[0] = n;
另一个类似

解决方案三:

楼主,没发现你写的循环体每次循环里面的值都不变吗?

时间: 2024-09-28 04:27:22

using-输入10个整数,将其中最小的数与第一个数交换,把最大的数与最后一个数交换。用指针实现,但是程序崩溃了的相关文章

number-汇编语言输入10个整数,输出其中最小的奇数。

问题描述 汇编语言输入10个整数,输出其中最小的奇数. 编一程序,从键盘输入10个无符号整数(8位),找出其中最小的奇数并将结果显示出来.没有奇数则显示 NO ODD NUMBER哪位大侠可以教教我这个该怎么做,老师教的完全听不懂QAQ 解决方案 DATAS SEGMENTDATA DB 745865692541876119833;DATA DB 745866662541866169836 ; test odd numberlen equ $ - offset datano_str db 'NO

从键盘输入10个整数,然后按照和输入相反的顺序输出出来

问题描述 从键盘输入10个整数,然后按照和输入相反的顺序输出出来 从键盘输入10个整数,然后按照和输入相反的顺序输出出来 要求用VC++实现 解决方案 #include int main() { int n[10],i; for(i=0;i scanf("%d",n+i); for(i=9;i>=0;--i) printf("%d ",n[i]); return 0; } 解决方案二: #include<stdio.h> int main() {

c语言-C填空题:键盘上输入10个整数,程序按降序完成从大到小排序

问题描述 C填空题:键盘上输入10个整数,程序按降序完成从大到小排序 #include void sort(int *p,int *q) { int *max,*s; if(p>q)return; max=p; __ for(s=p+1;s<=q;s++)__ if()max=s; swap(); sort((),q); } void swap(int *x,int *y) { int temp; temp=*x; *x=*y; *y=temp; } void main() { int i,a

十个整数-输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急

问题描述 输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急 输入10个整数,求出其中互不相同的数的个数,哪一个数的出现次数最多,共出现了多少次,急. 解决方案 #include <stdio.h> #define MAX 11 /*输入MAX-1个整型数字,找出不同数字的个数,并且给出出现次数最多的数字.*/ int *sel_sort(int n , int *a,int seq)/*选择排序 seq:0为由小到大,1为由大到小*/ { int i=0,

c++-输入10个整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过程

问题描述 输入10个整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过程 整数,按每行3个整数输出这些数,最后输出10个整数的平均值?写出调试过过程.最好在下面这个图上改 解决方案 解决方案二: 你的n没有给值啊,不是要求10么.const int n = 10; 解决方案三: 输入10个整数

c++-输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值

问题描述 输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值 输入10个整数,按每行3个数输出这些数,最后输出10个整数的平均值.下面图是我的过程,求教,我该如何改呢#includeusing namespace std;void input(int a[], int n) { for (int i = 0; i < n; i++)cin >>a[i];}void output(int a[], int n) { for (int i = 0; i < n; i++

输入n个整数并找出其中的最小k个数

题目: 输入n个整数, 找出其中的最小k个数. 使用快速排序(Quick Sort)的方法求解, 把索引值(index)指向前k个数. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int min, int max) { int rand

输入三个整数并把它们按由小到大的顺序输出

查看全套"c语言习题集" 题目:输入三个整数x,y,z,请把这三个数由小到大输出. 1.程序分析: 我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小. 2.程序源代码: #include "stdio.h"#include "conio.h"main(){ int x,y,z,t; scanf("%d%d%d"

排序 函数-编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出

问题描述 编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出 编写程序,从键盘输入10个int类型数,按从小到大顺序进行排序,然后输出.要求用函数sort()进行排序, 用函数input()输入数据,用函数output()输出数据. (1) 主函数定义数组a[N],N定义为10 (2) 函数声名: (3) 主函数调用函数实现程序功能. (4) 函数定义 解决方案 下面的代码考虑输入的是否是整数 #include<stdio.h> #define N 10 void inp