编程练习

来源:互联网 发布:网络编辑主要做什么的 编辑:程序博客网 时间:2024/05/21 09:41

/*****************************************************

copyright (C), 2014-2015, Lighting Studio. Co.,     Ltd.

File name:

Author:Jerey_Jobs    Version:0.1    Date:

Description:

Funcion List:

*****************************************************/

 

#include <stdio.h>

 

int state(int a[100],int n,int (*c)[2]);

 

int main()

{

    int a[100],c[10][2] = {0}; //定义数组存放整数和整数个数

int n = 0,i,j;  //定义循环变量i,j,n

 

printf("Enter the array : ( < 20)\n"); //提示用户输入

while(scanf("%d",&a[n]))

{

n++;

}

 

for(i = 0;i < n;i++)//输出整数数组,以供下面变换后的数组比较

{

printf("%2d",a[i]);

}

printf("\n");

 

state(a,n,c);//调用函数

 

for(i = 0;i < 10;i++) //按照固定格式输出二维数组

{

printf("%2d have ",c[i][0]);

printf("%2d same numbers \n",c[i][1]);

}

printf("\n");

 

    return 0;

}

 

int state(int a[100],int n,int (*c)[2])

{

    int i,j,k = 0; //定义循环变量i,j,k

int b[10];    //定义数组,存放相邻两数之和

 

for(i = 0;i < n;i = i + 2)  //存放a数组相邻两数之和

{

b[i / 2] = a[i] + a[i + 1];

}

 

for(i = 0;i < n / 2;i++)//查看以上功能是否实现

{

printf("%2d",b[i]);

}

printf("\n");

 

for(i = 0;i < n / 2;i++)        //遍历数组,查看有多少相同的数字

{

for(j = 0;j < n / 2;j++)

{

if(b[i] == b[j])

{

k++;

c[i][0] = b[i];

c[i][1] = c[i][1] + 1;

}

}

}

 

return 0;

}

0 0