编程实现以下功能:在主函数中,由键盘输入10个互不相同的整数存放在一维数组a中,从键盘上输入数x,若x属

不要C++的,要C语言!!
编程实现以下功能:在主函数中,由键盘输入10个互不相同的整数存放在一维数组a中,从键盘上输入数x,若x属于a数组,则将其从a中删除。在主函数中,通过调用以下几个自定义函数分别完成x的查找和删除及删除x前后显示a的元素值。自定义函数的首部及功能如下:
⑴ void myout(int arr[],int n):该函数用于输出含有n个整数的数组;
⑵ int delx(int arr[],int n,int x):该函数用于删除n个数组元素中的值等于x的元素,并返回删除后数组元素的个数。

#include <stdio.h>
#include <stdlib.h>

void myout(int arr[], int n);
int delx(int arr[], int n, int x);

void main()
{
printf("请输入10个互不相同的整数:\n");
int array[10],a;
for(int i=0; i<10; ++i)
{
scanf("%d",&a);
array[i] = a;
}
printf("请输入数x:\n");
int x;
scanf("%d",&x);
printf("完整的数组元素:\n");
myout(array,sizeof(array)/sizeof(array[0]));
int array_size = delx(array, sizeof(array)/sizeof(array[0]), x);
printf("改变后的数组:\n");
myout(array,array_size);

}

void myout(int arr[], int n)
{
for(int i=0; i<n; ++i)
{
printf("%d\t",arr[i]);
}
printf("\n");
}
int delx(int arr[], int n, int x)
{
for(int i=0; i<n; ++i)
{
if(arr[i] == x)
{
for(int j=i;j<n-1;++j)
arr[j] = arr[j+1];
arr[n-1] = x;
return n-1;
}
}
return n;
}
------------------------------------------------------------------------------------------
C++改为C语言不是很简单吗追问

调试不过呀,很多都还没定义呢。不过还是先给你分

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-26
题目给完呀..追问

于a数组,则将其从a中删除。在主函数中,通过调用以下几个自定义函数分别完成x的查找和删除及删除x前后显示a的元素值。自定义函数的首部及功能如下:
⑴ void myout(int arr[],int n):该函数用于输出含有n个整数的数组;
⑵ int delx(int arr[],int n,int x):该函数用于删除n个数组元素中的值等于x的元素,并返回删除后数组元素的个数。

第2个回答  2011-02-27
上测试成功!
/**
由键盘输入10个互不相同的整数存放在一维数组a中,
从键盘上输入数x,若x属于a数组,则将其从a中删除。
在主函数中,通过调用以下几个自定义函数分别完成x的查找和删除及删除x前后显示a的元素值。
自定义函数的首部及功能如下:
⑴ void myout(int arr[],int n):该函数用于输出含有n个整数的数组;
⑵ int delx(int arr[],int n,int x):该函数用于删除n个数组元素中的值等于x的元素,并返回删除后数组元素的个数。
**/
#include <iostream>
using namespace std;

void myout(int arr[], int n);
int delx(int arr[], int n, int x);

int main()
{
cout << "请输入10个互不相同的整数:\n";
int array[10];
for(int i=0; i<10; ++i)
{
int a(0);
cin >> a;
array[i] = a;
}
cout << "请输入数x:\n";
int x(0);
cin >> x;
cout << "完整的数组元素:\n";
myout(array,sizeof(array)/sizeof(array[0]));
int array_size = delx(array, sizeof(array)/sizeof(array[0]), x);
cout << "改变后的数组:\n";
myout(array,array_size);
system("pause");
return 0;
}

void myout(int arr[], int n)
{
for(int i=0; i<n; ++i)
{
cout << arr[i] << "\t";
}
cout << "\n";
}
int delx(int arr[], int n, int x)
{
for(int i=0; i<n; ++i)
{
if(arr[i] == x)
{
for(int j=i;j<n-1;++j)
arr[j] = arr[j+1];
arr[n-1] = x;
return n-1;
}
}
return n;
}追问

这不是C++的吗?。。!

c语言编写程序完成以下功能:在主函数中通过键盘输入10个互不相等的整 ...
include <stdio.h>#define N 10void delete_max(int a[]){ int i, m; m = 0; for(i=1;i<N;i++) { if(a[m] < a[i]) m = i; } printf("the max is : %d\\n", a[m]); for(i=m+1;i<N;i++) { a[i-1]=a[i]; } ...

用c语言编程,从键盘上输入10个整数存放到一维数组中,输出其中最大的数...
解题思路:先键盘输入10个整数,假设数组的第1个是最大数max,同时设置最大值下标为0,接着for循环依次判断其是否大于最大数,如果大于替换掉最大值,并更新最大值下标,最后输出最大数和数组下标。参考代码:include<stdio.h> int main() { int i,a[10],max,maxi;\/\/输入10个整数 for(i=0;...

从键盘输入10整数,放在一维数组中.输入一个整数,在数组中查找与其相等...
printf("-1");\/\/如果没有找到与m相同的值,则J=0,!j为真,输出-1。} } \/ 从键盘输入10个整数 ,存入到数组中 \/ void shuru(int a[10]){ int i=0;printf("Please input 10 number:\\n");for(;i<10;i++){ \/\/scanf("%d",&a[i]);这一句,和下面两句可以达到相同的效果,用...

从键盘输入10个整型数据,放入数组a 中,求其最大值、最小值及其所在元素...
1、输入a=[12,2,3,4,34,24],创建一个a列表。2、输入max_value=max(a),进行获取a列表的最大值。3、运行py文件,可以看到最大值是34。4、输入max_index=a.index(max(a)),进行获取最大值的下标。5、运行py文件,可以看到a列表的最大值下标为4,需要注意的是下标是从0开始的。

...在主函数中,输入一组10个整数,存储在一个数组中,
include <stdio.h>int sum(int a[]){int i,s=0;for(i=0;i<10;i++)s+=a[i];return s;}double aver(int a[]){return sum(a)\/10.0;}int main(){int i,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);printf("和:%d\\n平均值:%f",sum(a),aver(a));return 0;}\/...

C语言编程输入10个整数存入数组a中然后按从打到小的顺序排序并输
编写一个C语言程序,用于输入10个整数存入数组a中,然后按照从大到小的顺序排序并输出。程序实现步骤如下:首先,引入必要的头文件<stdio.h>。接着,使用int main()函数作为程序的主入口。在主函数内部,定义一个整数型数组a[10]和两个整数变量i和j。使用for循环,从0到9遍历数组,输入每个元素的值...

...为求出数组a中的最大值,在主函数中输入10个整数,调用函
完整的代码如下,函数形式输出:include <stdio.h>#include <string.h>void max(int i[]){int max;max = i[0];for(int a = 1;a<10;a++)if(max<i[a]) max=i[a];printf("\\n最大数是:%d\\n\\n",max);} int main(){int i[20];printf("求最大数,请输入 10 个数,空格...

编写主函数由键盘输入10个整数放入数组中,调用invert()函数并输出反序...
include<stdio.h>void invert(int a[],int n){int i,j,t; for(i=0,j=n-1;i<j;i++,j--) {t=a[j];a[j]=a[i];a[i]=t;} for(i=0;i<n;i++) printf("%d ",a[i]); printf("\\n");}int main(){int a[10],i; for(i=0;i<10;i++) scanf("%d",...

1.从键盘输入10个整数存放于数组中,并从小到大进行排序,并把排序结果...
public static void main(String args[]){ Scanner input = new Scanner(System.in) ; \/\/接受键盘数据实例化对象,int[] x = new int[10];for(int i = 0; i<x.length ; i++){ System.out.print("请输入第" +(i+1)+"个数:" );x[i] = input.nextInt() ; \/\/循环接受键盘...

c语言 .从键盘输入10个整数,存到一维数组中,并求这10个整数的和?
1、首先打开c语言编辑器,新建一个C语言的文件,文件中引入C语言的头文件,新建一个main函数,函数中设置一个10个元素的数组以及一个用来求和的变量:2、之后用一个for循环遍历数组,每次都从scanf中取到用户输入的数并存入数组中,存完后再用sum加这个数,如此便能求出数组内元素的和了:3、最后...

相似回答