数字输入、输出、排序输出和去重

数字输入、输出、排序输出和去重

数字输入、输出、排序输出和去重

这是我最近做的交互作业。它和我之前学C语言时写的程序相比多了对用户提示的语句,对用户使用程序更友好。

我参考了一些代码的思路并按照自己的需求进行了修改,其间调试程序、写函数花了不少时间(有点生疏了,在写参数那经常会忘记定义参数类型…)最终成功做出来了,蛮有成就感的!

分享下代码,给自己留个纪念~~

#include<stdio.h>
#define MAX 1000//定义数组最大容量
int shuchu(int a[],int n){
    int i;
 for(i=0;i<n;i++)
        printf("%d ",a[i]);
    printf("
");
    printf("*-------------------------------------------------------------------------*

");}

void bubble1(int a[],int n){//冒泡排序从小到大 
	int i,j,t;
	for(i=0;i<n;i++){
		for(j=0;j<n-i;j++){
			if(a[j]>a[j+1]){ 
				t=a[j]; a[j]=a[j+1]; a[j+1]=t; 
			}}}  
}

void quchong(int a[],int n){//去重输出 
  int i;
  printf("%d ",a[0]); //输出首数
for(i=1;i<n;i++) //循环到n
{
if( a[i] != a[i-1] ) //如果当前这个数是第一次出现则输出
printf("%d ",a[i]);}
}  

void shuru(int a[],int i,int n){//读入数字 
	for(i=0;i<n;i++) {//循环读入n个数字 
		scanf("%d",&a[i]);
	}}
	
int leijia(int a[],int n){//数组数字累加求和 
		int i,mix;
		for(i=0;i<n;i++){
			mix+=a[i];
		}
		return mix;
	}

 int main(){
   
   int a[MAX],n,i,j,k;
   printf("请输入数字个数:");//n为用户自定义输入数字个数
   scanf("%d",&n);
   printf("
您一共要输入%d个数字
",n);	
	printf("请输入%d个数字:
",n);
	shuru(a,i,n);
	printf("输入的数字为:
");
	shuchu(a,n); 
	printf("将%d个数字累加得:",n);
    k=leijia(a,n);
	printf("%d",k);
	printf("
从大到小排序后:");//冒泡排序结果 
	bubble1(a,n);
	shuchu(a,n);//显示未去重排序
    printf("去掉重复数字后排序为:
");
    quchong(a,n);
    printf("(从小到大)
");
   
  return 0; 
   }


运行截图:

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 数字输入、输出、排序输出和去重