任务描述
题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组
编程要求
输入
输入10个互不相同整数
输出
输出删除最大元素后的数组
测试说明
样例输入:
1 2 3 4 5 6 7 8 9 0
样例输出:
1 2 3 4 5 6 7 8 0
#include<stdio.h>
int main(void)
{
int a[100],temp,max;
for(int i=1;i<=10;i++)
{
scanf("%d",&a[i]);
}
max=a[1],temp=1;
for(int i=2;i<=10;i++)
{
if(max<a[i])
{
max=a[i];
temp=i;
}
}
for(int i=1;i<=10;i++)
{
if(i!=temp) printf("%d ",a[i]);
}
return 0;
}
附:当输入n个互不相同的整数
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>//创建动态数组解决输入n个互不相同的整数的问题
int main(void)
{
int *array=0,n,max,temp,i;
scanf("%d",&n);//输入需要存入的整数个数
array=(int*)malloc(sizeof(int)*n);//申请动态数组使用的内存块
for(i = 0;i < n;i++)
{
scanf("%d",&array[i]);
}
max=array[0],temp=0;
for(i = 1;i < n;i++)
{
if(max < array[i])
{
max=array[i];
temp=i;
}
}
for( i = 0;i < n;i++)
{
if(i!=temp)
{
printf("%d ",array[i]);
}
}
free(array);//释放由malloc函数申请的内存块( 释放后能够增大可使用空间给所需要的程序,释放的内容是之前没用到的而又在排队的内容)(此句于题可有可无)
return 0;
}