批发礼品杯子:简单的C语言的题目 谁能帮帮新手
来源:百度文库 编辑:神马品牌网 时间:2024/10/04 03:58:36
有个题目不会写 请高手帮帮忙。
依次输入10个数 要求将最大的输出
用流程图表示算法就行了。。谢谢啦```
对不起 各位大哥们。。小女不才。。。
刚学而已。。全都看不懂 能不能简单点直观点。。。
我要的不是代码。。能不能用点简单的符号就能表示出来的?
说我不好说,我找了个差不多的,给你做个参考吧!10.3 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写3个函数:(1)输入10个数;(2)进行处理;(3)输出10个数。
解:输入输出函数的N-S图见图10.1。交换函数的N-S图见图10.2。
程序如下:(xt10-3.c)
#include <stdio.h>
main()
{ int number[10];
input(number);
max_min_value(number);
output(number);
}
input(int number[10])
{ int i;
printf("Input 10 numbers: ");
for(i=0;i<10;i++)
scanf("%d",&number[i]);
}
max_min_value(int array[10])
{ int *max,*min,*p,*array_end;
array_end=array+10;
max=min=array;
for(p=array+1;p<array_end;p++)
if(*p>*max) max=p;
else if(*p<*min) min=p;
*p=array[0]; array[0]=*min; *min=*p;
*p=array[9];array[9]=*max;*max=*p;
return;
}
output(int array[10])
{ int *p;
printf("Now, they are: ");
for(p=array;p<=array+9;p++)
printf("%d ",*p);
}
运行结果如下:
Input 10 numbers: 32 24 56 78 1 98 36 44 29 6↙
Now, they are: 1 24 56 78 32 6 36 44 29 98
假设你输入10个数保存在数组a里
那么你首先要把数组a里面的10个数字进行排序,假设按照从小到大
那么你最后输出a[9]就是最大的数了啊
>>>>>>>>>>>>>>>
还不如直接粘代码来得方便
下面是冒泡排序法
你自己加个输入输出代码就行了
main()
{
int A[] = {36,25,48,12,65,43,20,58};
void insertSort(int A[],int n);
int n,k;
for( k=0;k<8;k++)
{
printf("%d \t",A[k]);
}
printf("\n");
n = 8;
printf("%d\n",n);
insertSort(A,8);
// show outcome
for( k=0;k<8;k++)
{
printf("%d \t",A[k]);
}
printf("\n");
} // end of main
void insertSort(int A[],int n)
{
int x;
int i,j;
for(i=1;i<n;i++)
{
x=A[i];
for(j=i-1;j>=0;j--)
{
if(A[j]>x)
A[j+1]=A[j];
else break;
}
A[j+1] = x;
}
}
你是学计算机的吗?我想你应该先看看书,很多C语言和数据结构的书中都有这么一个算法----起泡法,这个算法就可以找出你输入数中的最大数.
设出一个变量max,先把第一个数赋值给他,然后依次比较他和剩余的数的大小,如果他大,不作操作,如果别的数大,就把那个更大的数赋给他,一直比较完所有的数,max中存储的当然是最大的数了,然后输出他就可以了。