4、编程实现以下功能:用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>

void myout(int arr[],int n)
{
int i;
printf("输入数组:\n");
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
}
int delx(int arr[],int n,int x)
{
int i, j;
for (i = 0; i < n; i++)
{
if (arr[i] == x) {
for (j = i; j < n; j++)
arr[j] = arr[j+1];
n--;
i--;
}
}
return n;
}

int main()
{
int arr[100], n, numbers, x;
printf("输入数组的大小(不大于100): ");
scanf("%d", &n);
myout(arr, n);
printf("输入要删除的数据: ");
scanf("%d", &x);
numbers = delx(arr, n, x);
printf("删除后数组的元素个数为%d.\n", numbers);

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-27
*计算每个学生的平均分*/
int i,j,s;
for (i=0;i<4;i++){
s=0;
for (j=0;j<5;j++) s+=a[i][j];
s/=5;
a[i][5]=s;
}
}

void avg1(int a[5][6]){/*计算每门课程的平均分*/
int i,j,s;
for (j=0;i<5;j++){
s=0;
for (i=0;i<4;i++) s+=a[i][j];
s/=4;
a[4][j]=s;
}
}

main(){
int score[5][6],i,j;
for (i=0;i<4;i++){
printf("输入%d个学生的五门课程成绩\n",i+1);
for (j=0;j<5;j++) scanf("%d",&score[i][j]);
}
avg1(score);
for (i=0;i<4;i++) printf("第%d个学生的平均成绩是%d\n",i+1,score[i][5]);
avg2(score);
for (j=0;i<5;j++) printf("第%d门课程的平均成绩是%d\n",j+1,score[4][j]);
}
第2个回答  2011-03-05
*计算每个学生的平均分*/
int i,j,s;
for (i=0;i<4;i++){
s=0;
for (j=0;j<5;j++) s+=a[i][j];
s/=5;
a[i][5]=s;
}
}

void avg1(int a[5][6]){/*计算每门课程的平均分*/
int i,j,s;
for (j=0;i<5;j++){
s=0;
for (i=0;i<4;i++) s+=a[i][j];
s/=4;
a[4][j]=s;
}
}

main(){
int score[5][6],i,j;
for (i=0;i<4;i++){
printf("输入%d个学生的五门课程成绩\n",i+1);
for (j=0;j<5;j++) scanf("%d",&score[i][j]);
}
avg1(score);
for (i=0;i<4;i++) printf("第%d个学生的平均成绩是%d\n",i+1,score[i][5]);
avg2(score);
for (j=0;i<5;j++) printf("第%d门课程的平均成绩是%d\n",j+1,score[4][j]);
}

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

用c语言编程实现请输入10个整数,请输出最大值及所在位置(位置从1数起...
for(i=1;i<10;i++) if(a[i]>max) { max=a[i]; max_index=i; } printf("这10个数中的最大值是%d,位置为%d\\n",max,max_index+1); } 举报| 答案纠错 | 评论(1) 5 2 示申佥11 采纳率:75% 来自:芝麻团 擅长: C\/C++ JAVA相关 VC++ C#\/.NET 为您推荐: C语言的=和== C语言双...

C语言数组从键盘输入10个整数存入数组,找出其中最大和最小值,并输出...
return 0;} 运行此程序后,用户会看到输入的10个整数,以及它们的最大值和最小值。同时,代码中也包含了关于return语句在C和C++中用法的简要说明。

C语言编程序,要求从键盘输入10个整数存入一维数组。。
for(i=0;i<10;i++)printf("%d",a);}

C语言编程:键盘输入10个数,用函数实现计算数据中最大值、最小值,并返 ...
在主函数中声明一个具有10个int型元素的数组存放键盘输入的数据,声明变量ml记录最大值位置、ms记录最小值位置。自定义一个函数void Input_Max_Min(int *p,int *pl,int *ps)来完成题设要求,其中p是数组首指针,pl是最大值位置(下标)变量指针,ps是最小值位置(下标)变量指针。在主函数中输出结果...

C语言编程 编写求和函数和求平均值函数。在主函数中,输入一组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个整数存入数组,找出其中最大和最小值,并输出。 麻...
采纳率:52% 来自团队:C* 擅长: C\/C++ VC++ VB 安全软件 数据库DB 其他回答 int a[10];int i;int max,min;for(i=0;i<10;i++) scanf("%d",&a[i]);max=a[0];min=a[0];for(i=1;i<10;i++){ if(maxa[i]) min=a[i];}printf("max=%d\\nmin=%d",max,min); 这个程序要考虑溢...

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

大神帮下忙,谢了啊 1.c语言从键盘输入10个整数,存入数组a,并输出数组a...
第1题:#include <stdio.h>void main(){int i,a[10];for(i=0;i<10;i++){scanf("%d",&a[i]);printf("%d ",a[i]);}}第2题:#include <stdio.h>void main(){int i,sum=0,a[8]={12,3,45,76,89,23,68,9};for(i=0;i<8;i++)sum+=a[i];printf("数组元素的总和...

c语言 在主函数中输入包含10个元素的整形数组,产生10个随机整数存放到数...
*e = t; }}int main(){ int a[10]; int i; srand(time(NULL)); for(i = 0; i<10;i++) a[i] = rand(); reverse(a); for(i = 0; i<10;i++) printf("%d ",a[i]); return 0;} ...

相似回答