TA的每日心情 | 开心 2014-6-18 08:29 |
---|
签到天数: 14 天 [LV.3]偶尔看看II
滴水大师
 
- 积分
- 2345
|
题目
解决代码及点评
- <pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"></pre><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code"><pre code_snippet_id="91880" snippet_file_name="blog_20131202_1_2646179" class="cpp" name="code">/*
- 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。
- 写三个函数:①输入10个数;②进行处理;③输出10个数。
- */
- #include<stdio.h>
- #include <stdlib.h>
-
- int a[10];
- void f721(int *a)//输入10个数
- {
- for (int i=0;i<10;i++)
- {
- a=rand()%100;
- printf("%d\t",a);
- }
- }
-
- void f722(int *pmax,int *pmin,int *a,int *p1,int *p2)//进行处理
- {
-
- for (int i=0;i<10;i++)
- {
- if (*pmin>a)
- {
- *pmin=a;
- *p1=i;
- }
- if (*pmax<a)
- {
- *pmax=a;
- *p2=i;
- }
- }
- //最小数和第一个数交换
- a[0]=a[0]+a[*p1];
- a[*p1]=a[0]-a[*p1];
- a[0]=a[0]-a[*p1];
-
- //最大数和最后一个数交换
- a[9]=a[9]+a[*p2];
- a[*p2]=a[9]-a[*p2];
- a[9]=a[9]-a[*p2];
-
- }
-
- void f723(int *a)
- {
- for (int i=0;i<10;i++)//输出新的数
- {
- printf("%d\t",a);
- }
- }
-
-
- void main()
- {
-
- f721(a);
-
- int *pmax=(int *)malloc(sizeof(int)),*pmin=(int *)malloc(sizeof(int));
- *pmin=a[0];
- *pmax=a[0];
-
- int kmin=0,kmax=0;//记录最大数和最小数de下标
-
- int *p1=&kmin,*p2=&kmax;
-
- f722(pmax,pmin,a,p1,p2);
-
- printf("kmin=%d,kmax=%d\n",kmin,kmax);
-
- f723(a);
-
- free(pmax);
- free(pmin);
-
- system("pause");
- }</pre><br><br><br></pre></pre>
|
|