标题:请高手帮忙!期末考试题啊!!
只看楼主
zimuran
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-12-17
 问题点数:0 回复次数:1 
请高手帮忙!期末考试题啊!!

请大侠帮帮忙,这是我们期末考试题,最好多几种解法

全班同学作同一道题目,按照交作业的先后顺序上台讲解,大家为上台讲解者打分。具体要求如下: 【题目】 定义一个整型数组,从键盘输入它的各个元素的值;接着输出各个元素的值;然后编写一个函数,删除所有出现次数多于1次的元素,剩余的元素按照原顺序集中到数组的前部;然后将该数组输出到屏幕上。

【输出结果格式示例】 本程序是由 *** 编写的 用户输入的数组含有10个元素: 1 35 1 8 5 5 7 2 8 125 删除出现次数多于1次的所有元素之后,还有4个元素: 35 7 2 125 上台讲解要求】 ; 算法简单说明; 程序展示 ; 程序运行,输进去一些数据,看运行结果 ; 回答简单的提问

以下代码除外的新代码?

#include<stdio.h> int fun(int[]); int main() { int a[10],i,len ; clrscr(); printf("this command is written by zhang shengjun");/*程序制作人*/ for(i=0;i<10;i++)/*循环输入10个元素*/ { printf("\nplease enter %d numbers",i+1); scanf("%d",&a[i]); } printf("\nyou input 10 numbers\n"); for(i=0;i<10;i++) { printf("%d ",a[i]);/*输出元素*/ } fun(a); getch();

} int fun(int a[])/*函数*/ { int i,j,b[10],len=0 ; for(i=0;i<10;i++)/*把a中元素全放到b中*/ { b[i]=a[i]; } for(i=0;i<10;i++)/*核心算法*/ { for(j=0;j<10;j++) { if(i!=j&&b[i]==b[j])/*用b中元素和除自己以外的所有b中元素比较,一旦有相等就中断循环*/ { break ; }

} if(j==10)/*如果循环未中断则满足此条件*/ { a[len]=b[i]; len++; } } printf("\n"); printf("\nwe delete the numbers which appears more than one times,and %d numbers left:",len); for(i=0;i<len;i++)/*打印需要元素*/ { printf("%d ",a[i]); } } 

搜索更多相关主题的帖子: 考试题 元素 定义 屏幕 
2004-12-17 14:15
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
得分:0 

可以简化一下

#include <iostream> using namespace std;

void noDuplicate(int a[]) { int count=0; for( int i=0 ; i<10 ; i++ ) { for( int j=0 ; j<10 ; j++ ) if(a[i]==a[j]) count++; if(count<2) cout<<a[i]<<"\t"; count=0; } cout<<endl; }

void input(int a[]) { for( int i=0 ; i<10 ; i++ ) cin>>a[i]; cout<<endl; for( i=0 ; i<10 ; i++ ) cout<<a[i]<<"\t"; cout<<endl; }

int main() { int a[10]; input(a); noDuplicate(a); return 0; }


2004-12-19 14:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-9537-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023398 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved