【邢帅公开课】2016年7.12日上课学习作业提交贴

发布于:2016-07-12 22:58

  今天晚上的作业 
作业:
从键盘输入10个数,存入一个数组;然后,打印最大值和最小值;
选做:排序后打印出来。
      可以快排,或者冒泡,
大家需要认真完成呢

B_109.gifB_109.gif

共有12条评论
正序查看
倒序查看
C-XIN生 2016-07-12 23:20
回复

#include<stdio.h>

#include<stdlib.h>


#define N 10



int compare(const void *a,const void *b)

{

     return *(int *)a - *(int *)b;

}


int main(void)

{

    int max,min,i,arr[N];

    for(i = 0; i < N; ++i){

       printf("input no.%d:",i + 1);

       scanf("%d",arr + i);

        printf(" ");

    }

   printf("******************************** ");

    printf("the array you have input :");

    for(i = 0; i < N; ++i){

        printf("%d ",*(arr + i));

    }

    printf(" ");


    max = *arr;

    min = *arr;

    for(i = 0; i < N; ++i){

        if(max < *(arr + i)){

            max = *(arr + i);

        }

        if(min > arr[i]){

            min = arr[i];

        }

    }

    printf("max = %d,min = %d ",max,min);


    qsort(arr,N,sizeof(int),compare);

    for(i = 0;i < N; ++i){

       printf("%d ",*(arr + i));

    }


    return 0;

}


你是我的谁22 回复 C-XIN生 2016-07-14 10:30
回复
加油,棒棒哒
ze_zeng 2016-07-13 00:50
回复

/* * 从键盘输入10个数,存入一个数组 * 打印该数组中的元素的最大值和最小值 * 排序后打印出来 */ #include

#define size 10   //输入10个数 void px(int *,int); int max(int *,int); int min(int *,int); int main(){ int arr[size],i; printf("请输入%d个整数:",size);//提示用户输入 for(i = 0;i < size;i++) scanf("%d",&arr[i]); printf("这%d个数中最大的数的数值为:%d ",size,max(arr,size));//调用max函数,打印出该数组中值最大的数 printf("这%d个数中最小的数的数值为:%d ",size,min(arr,size));//调用min函数,打印出该数组中值最小的数 px(arr,size);//调用px函数,重新排序 printf("这%d个数的非降序排序为:",size); for(i = 0;i < size;i++)//打印该数组中所有元素的值 printf("%d ",arr[i]); getchar(); getchar(); return 0; } //排序算法(过程) void px(int *ip,int i){ int temp,n,m; for(n = 1;n < i;n++){ for(m = n;m>0;m--){ if(ip[m] < ip[m-1]){ temp = ip[m]; ip[m] = ip[m-1]; ip[m-1] = temp; } } } } //求数组元素最大值算法(过程) int max(int *ip,int i){ int n,key = ip[0]; for(n = 1;n < i;n++){ if(ip[n] > key) key = ip[n]; } return key; } //求数值元素最小值算法(过程) int min(int *ip,int i){ int n,key = ip[0]; for(n = 1;n < i;n++){ if(ip[n] < key) key = ip[n]; } return key; }
你是我的谁22 回复 ze_zeng 2016-07-14 10:31
回复
这个排版让我看的有点蒙 下次注意哦
ze_zeng 2016-07-13 00:52
回复

/*

 * 从键盘输入10个数,存入一个数组

 * 打印该数组中的元素的最大值和最小值

 * 排序后打印出来

*/


#include<stdio.h>

#define size 10   //输入10个数

void px(int *,int);

int max(int *,int);

int min(int *,int);

int main(){

int arr[size],i;

printf("请输入%d个整数:",size);//提示用户输入

for(i = 0;i < size;i++)

scanf("%d",&arr[i]);

printf("这%d个数中最大的数的数值为:%d ",size,max(arr,size));//调用max函数,打印出该数组中值最大的数

printf("这%d个数中最小的数的数值为:%d ",size,min(arr,size));//调用min函数,打印出该数组中值最小的数

px(arr,size);//调用px函数,重新排序

printf("这%d个数的非降序排序为:",size);

for(i = 0;i < size;i++)//打印该数组中所有元素的值

printf("%d ",arr[i]);

getchar();

getchar();

return 0;

}

//排序算法(过程)

void px(int *ip,int i){

int temp,n,m;

for(n = 1;n < i;n++){

for(m = n;m>0;m--){

if(ip[m] < ip[m-1]){

temp = ip[m];

ip[m] = ip[m-1];

ip[m-1] = temp;

}

}

}

}

//求数组元素最大值算法(过程)

int max(int *ip,int i){

int n,key = ip[0];

for(n = 1;n < i;n++){

if(ip[n] > key)

key = ip[n];

}

return key;

}

//求数值元素最小值算法(过程)

int min(int *ip,int i){

int n,key = ip[0];

for(n = 1;n < i;n++){

if(ip[n] < key)

key = ip[n];

}

return key;

}


你是我的谁22 回复 ze_zeng 2016-07-14 10:31
回复
加油
Dannynu 2016-07-13 00:58
回复

B_09.gif         B_08.gif

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

#include<stdlib.h>

void main()

{

int num[10];

printf("请输入需要排序10个数: ");

for (int j = 0;j < 10;j++)

scanf("%d", &num[j]);

for (int j = 0;j < 10;j++)

printf("  %d", num[j]);

    int X = 0;//X代表最大的那个数

for (int i = 0;i < 10;i++)

if (num[X] < num[i])

{

X = i;

}

printf(" MAX=%d ", num[X]);

int Y = 0;//Y代表最小的那个数

for (int i = 0;i < 10;i++)

if (num[Y] > num[i])

Y = i;

}

printf("MIN=%d ", num[Y]);

for (int i = 0;i < 10 - 1;i++)

for (int j = 0;j < 10 - 1 - i;j++)

if (num[j] > num[j + 1])

{

int temp = num[j];

num[j] = num[j + 1];

num[j + 1] = temp;

}

printf(" ");

for (int i = 0;i < 10;i++)

printf("  %d ", num[i]);

system("pause");

}


独木桥10 2016-07-13 01:34
回复

#include<stdio.h>


#define N 10

 

/**

* flag == 0 -----------从大到小

* flag == 1 -----------从小到大

*/ 


int getMax(int arr[], int length){

int Max = arr[0];

for(int i = 1; i < length; i++){

if(Max < arr[i]){

Max = arr[i];

}

}

return Max;


int getMin(int arr[], int length){

int Min = arr[0];

for(int i = 1; i < length; i++){

if(Min > arr[i]){

Min = arr[i];

}

}

return Min;

}


void BubbleSort(int arr[], int length, int flag){ 


int temp = arr[0];

switch(flag){

case 0:

for(int i = 0; i < length; i++){

for(int j = i+1; j < length; j++){

if(arr[i] < arr[j]){

temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

break;

case 1:

for(int i = 0; i < length; i++){

for(int j = i+1; j < length; j++){

if(arr[i] > arr[j]){

temp = arr[i];

arr[i] = arr[j];

arr[j] = temp;

}

}

}

break;

default:

printf("BubbleSort Error! ");

}

}


/**

* flag == 0 -----------从大到小

* flag == 1 -----------从小到大

*/ 

void QuickSort(int arr[], int low, int high, int flag){

if(low >= high){

return;

}

int first = low;

int last = high;

int key = arr[first];

switch(flag){

case 0:

while(first < last){

while(arr[last] <= key && first < last) last--;

arr[first] = arr[last];

while(arr[first] >= key && first < last) first++;

arr[last] = arr[first];

}

arr[first] = key;

QuickSort(arr, low, first-1, flag);

QuickSort(arr, first+1, high, flag);

break;

case 1:

while(first < last){

while(arr[last] >= key && first < last) last--;

arr[first] = arr[last];

while(arr[first] <= key && first < last) first++;

arr[last] = arr[first];

}

arr[first] = key;

QuickSort(arr, low, first-1, flag);

QuickSort(arr, first+1, high, flag);

break;

default:

printf("QuickSort Error! "); 

}

}


int main(void){

int arr[N];

printf("按提示输入%d个数: ", N);

for(int i = 0; i < N; i++){

printf("输入第%d个数:", i+1);

scanf("%d", &arr[i]);

}

printf(" ");

printf("输入的%d个数为: ", N);

for(int i = 0; i < N; i++){

printf("%d ", arr[i]);

}


printf("最大值Max = %d ", getMax(arr, N));

printf("最小值Min = %d ", getMin(arr, N));

printf(" --------------------冒泡--------------------------------- ");

BubbleSort(arr, N, 1);//从小到大 

for(int i = 0; i < N; i++){

printf("%d ", arr[i]);

}

printf(" --------------------快速--------------------------------- ");

QuickSort(arr, 0, N-1, 0); //从大到小 

for(int i = 0; i < N; i++){

printf("%d ", arr[i]);

}

}


键盘挥霍青春2333 回复 独木桥10 2016-07-13 18:45
回复
这个..太复杂了
回复
是吗
嗨12 2016-07-13 09:41
回复

#include<stdio.h>

int main()

{

int i,j,a[10],k,m;

printf("输入10个数:");

    for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<10;i++)

{ k=i;

for(j=i+1;j<10;j++)

if(a[j]>a[k]) k=j;

m=a[i];a[i]=a[k];a[k]=m;

}

printf("从大到小的顺序是:");

for(i=0;i<10;i++)

printf(" %d",a[i]);

printf(" ");

return 0;

}


你是我的谁22 回复 嗨12 2016-07-14 10:32
回复
没有注释呀
陕西-黑夜 2016-07-13 10:08
回复

/*从键盘输入10个数,存入一个数组;然后,打印出

  最大值和最小值;选做:排序后打印出来。可以快排

  ,或者冒泡。

*/


#include <stdio.h>


int main()

{

int i,r[10];

printf("请输入10个数: ");

scanf("i=%d",&i);

printf("%d ",r[i]);

int max,min;

if(r[i]>)

{

printf("max=%d ",max);

}

if()

{

printf("min=%d ",min);

}

//排序还不会

return 0;

}

求解


ezmzd 2016-07-13 11:19
回复
/* 从键盘输入10个数,存入一个数组,排序后打印出来,并输出最大值和最小值。 */ #include using namespace std; int main() { int a[11],i,j,temp; cout<<"请输入10个整数:"<>a[i]; for(j=1;j<=9;j++) { for(i=1;i<=10-j;i++) { if(a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } cout<<"从小到大的顺序为:"<
oak_大如 2016-07-13 12:57
回复

#include"stdio.h"

#define SIZE 10

void selectsort(int a[],int len)  //选择排序函数

{

int i,j,t;

for(i=0;i<len-1;i++)

for(j=i+1;j<len;j++)

if (a[i]>a[j])

{

             t=a[i];

    a[i]=a[j];

    a[j]=t;

}

}

void dispalyArray(int a[],int len)  //数组输出函数

{

for(int i=0;i<len;i++)

if(i!=len-1)

printf("%d ",a[i]);

else

printf("%d ",a[i]);

}


void main()

{

int a[SIZE],i;  //定义数

printf("please intput 10 numbers ");

    printf(" ");

for(i=0;i<10;i++)

    {

scanf("%d",&(a[i]));

}

selectsort(a,SIZE);    //调用选择排序函数进行排序

printf(" ");

printf("排序之后%: ");  

    dispalyArray(a,SIZE);   //调用数组输出函数显示排序前的情况

    printf(" ");

    printf("最大值为%d ",a[9]);

    printf(" ");

    printf("最小值为%d ",a[0]);

    printf(" ");

    printf("我是陈大如,7-13 ");

printf(" ");

 }


你是我的谁22 回复 oak_大如 2016-07-14 10:33
回复
加油
键盘挥霍青春2333 2016-07-13 14:42
回复

#include<stdio.h>

int main()

{

int array[10];//定义数组

int i;//循环控制

int a;//循环控制

int max;//最大值

int min;//最小值

icon_txt.gif7_13.c



for(;;)

{

printf("请分别输入10个数 ");

for(i=0;i<10;i++)

{

printf("请输入第%d个数 ", i+1);

scanf("%d", &array[i]);

}

printf(" ");

printf("---------以下是运算结果------- ");

//判断最大值

max=array[0];

for(i=1;i<10;i++)

{

if(max<array[i])

{

max=array[i];

}

}

//判断最小值

min=array[0];

for(i=1;i<10;i++)

{

if(min>array[i])

{

min=array[i];

}

}

printf("最大值为%d ",max);

printf("最小值为%d ",min);

printf(" ");

printf(" ");



//选做:排序后再打印(冒泡排序)

//(由小到大)

for(i=9;i>-1;i--)

{

for(a=0;a<=i-1;a++)

{


if(array[a]>array[a+1])

{

max=array[a];

array[a]=array[a+1];

array[a+1]=max;

}

}

}

for(i=0;i<10;i++)

printf("数组第%d个数为:%d ",i+1,array[i]);

printf(" ");

printf(" ");

printf(" ");

printf("********************************************** ");

}

return 0;

}


回复
可以把你不懂得也写出来呢

回复:【邢帅公开课】2016年7.12日上课学习作业提交贴

图片
视频

0

今日新帖

0

昨日新帖

3

帖子总数

推荐
换一组
暂无数据