文档库 最新最全的文档下载
当前位置:文档库 › 广工C Anyview 参考答案

广工C Anyview 参考答案

广工C Anyview 参考答案
广工C Anyview 参考答案

C Anyview 7-9章作业参考答案/**********

【习题7.010】写一函数求3个整数中最小的数。

**********/

int min(int x, int y, int z)

/* 返回3个整数x,y和z中最小的数*/

{

if(x>y)

x=y;

if(x>z)

x=z;

return x;

}

/**********

【习题7.020】编写函数,求用1元、5元和10元三种纸币

支付n元钱共有多少种支付法?

例如,16元可有6种支付方法:

方法 1 2 3 4 5 6

10元0 0 0 0 1 1

5元0 1 2 3 0 1

1元16 11 6 1 6 1

**********/

int change(int n)

{

int i,j,k,m=0;

for(i=0;i<=n;i++)

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

for(k=0;k<=n/10;k++)

if(i+5*j+10*k==n)

m++;

return m;

}

/**********

【习题7.030】先编写一个判断素数的函数。再编写一个函数

将一个偶数表示为两个素数之和,并返回其中较小的素数。

注:素数指只能被1和自身整除的正整数。规定0,1不是素数。**********/

int prime(int n)

/* 判断素数,如果是素数返回1,不是素数则返回0 */

{ int t;

if(n==1)

return 0;

for(t=2;t<=(n/2);t++)

if(n%t==0)

return 0;

return 1;

}

int f(int i)

/* 将偶数i表示为两个素数之和,返回其中较小的素数*/

{ int n;

for(n=3;n<=i;n++)

if(prime(i-n)&&prime(n))

return n;

}

/**********

【习题7.050】编写函数,将字符串中ASCII码最小的字符

放在第一个字符位置,其余字符依次往后移。

**********/

void func(char *str)

/* 将字符串str中ASCII码最小的字符放在第一个*/

/* 字符位置,其余字符依次往后移。*/

{

int i=1,m=0,k;

for(m=0,i=1;str[i]!='\0';i++)

{

if(str[m]>str[i])

m=i;

} k=str[m];

for(i=m-1;i>=0;i--)

str[i+1]=str[i];

str[0]=k;

}

/**********

7.051 系统给定外部字符串s和整型数组c[26](不需

要自行定义)。编写程序,将字符串s中26个字母(不区分大小写)出现的次数依次统计到数组c中。例如,当s=“AbcijKaBcdEXyzuvwx”时,数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0

0 0 1 1 1 2 1 1。

**********/

void main()

{

int i,j;

for(j=0;j<26;j++)

{

c[j]=0;

for(i=0;s[i]!='\0';i++)

if(s[i]=='A'+j||s[i]=='a'+j)

c[j]++;

}

}

/**********

【习题7.060】编写函数将一个nxn的二维数组按“次对角线”翻转。例如:翻转前的数组翻转后的数组

1 2 3 9 6 3

4 5 6 ---> 8 5 2

7 8 9 7 4 1

**********/

void invert(char a[N][N])

{ int i,j;

int b[N][N];

for(i=0;i

for(j=0;j

b[i][j]=a[N-1-j][N-i-1];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.064】编写函数将一个NxN的二维数组“水平”翻转。

例如:翻转前的数组翻转后的数组

1 2 3 7 8 9

4 5 6 ---> 4 5 6

7 8 9 1 2 3

**********/

void invertH(char a[N][N])

{ int i,j;

int b[N][N];

for(i=0;i

for(j=0;j

b[i][j]=a[N-i-1][j];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.065】编写函数将一个NxN的二维数组“垂直”翻转。

例如:翻转前的数组翻转后的数组

4 5 6 ---> 6 5 4

7 8 9 9 8 7

**********/

void invertV(char a[N][N])

{

int i,j;

int b[N][N];

for(i=0;i

for(j=0;j

b[i][j]=a[i][N-1-j];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.068】编写函数将一个NxN的二维数组的

周边元素“逆时针”轮转1位。

例如:轮转前的数组轮转后的数组

1 2 3 2 3 6

4 5 6 ---> 1 5 9

7 8 9 4 7 8

**********/

void turningAnticlockwise(char a[N][N])

{ int i;

char t=a[0][0];

for(i=0;i

a[0][i]=a[0][i+1];

for(i=0;i

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

for(i=0;i

a[2][2-i]=a[2][2-i-1];

a[2][0]=a[1][0];

a[1][0]=t;

}

/**********

【习题7.072】编写函数将一个NxN的二维数组a的元素按行向右轮转1位。

例如:轮转前的数组轮转后的数组

4 5 6 ---> 6 4 5

7 8 9 9 7 8

**********/

void turningRight(char a[N][N])

{ int b[N][N],i,j;

for(i=0;i

for(j=1;j

b[i][0]=a[i][N-1],

b[i][j]=a[i][j-1];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.075】编写函数将一个NxN的二维数组a的元素按行向左轮转1位。

例如:轮转前的数组轮转后的数组

1 2 3 2 3 1

4 5 6 ---> 5 6 4

7 8 9 8 9 7

**********/

void turningLeft(char a[N][N])

{ int b[N][N],i,j;

for(i=0;i

for(j=0;j

b[i][N-1]=a[i][0],

b[i][j]=a[i][j+1];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.082】编写函数将一个NxN的二维数组a的元素按列向下轮转1位。

例如:轮转前的数组轮转后的数组

1 2 3 7 8 9

4 5 6 ---> 1 2 3

7 8 9 4 5 6

**********/

void turningDown(char a[N][N])

{

int b[N][N],i,j;

for(i=1;i

for(j=0;j

b[0][j]=a[N-1][j],

b[i][j]=a[i-1][j];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.085】编写函数将一个NxN的二维数组a的元素按列向上轮转1位。

例如:轮转前的数组轮转后的数组

1 2 3 4 5 6

4 5 6 ---> 7 8 9

7 8 9 1 2 3

**********/

void turningUp(char a[N][N])

{

int b[N][N],i,j;

for(i=0;i

for(j=0;j

b[N-1][j]=a[0][j],

b[i][j]=a[i+1][j];

for(i=0;i

for(j=0;j

a[i][j]=b[i][j];

}

/**********

【习题7.103】编写函数,求整数m和n的最大公约数,并作为函数的返回值。

**********/

int gdc(int m, int n)

{

int a,r;

if(m

a=m,m=n,n=a;

while((r=m%n)!=0)

{

m=n;n=r;

}

return n;

}

/**********

【习题7.105】编写函数,求整数m和n的最小公倍数,

并作为函数的返回值。

**********/

int lcm(int m, int n)

{

int t,r,h;

h=m*n;

if(m

{t=m;m=n;n=t;}

while((r=m%n)!=0)

{

m=n;n=r;

}

return h/n;

}

/**********

7.110 系统给定外部字符数组变量s和数组长度n(不需要自行定义)。main函数的功能是:把字符串s中所有小写字母转换为大写字母,其他字符不变。例如,当s="68abcdEFGhijkLM86" 时,转换后s="68ABCDEFGHIJKLM86"。

请仅在空缺处填入合适内容,使其实现上述功能。

**********/

void main()

{

int i;

/*** 1 ***/i=0; ;

while(i

{

if(*(s+i)>='a' && *(s+i)<='z')

*(s+i)=/*** 2 ***/*(s+i)-32 ;

/*** 3 ***/ i++;

}

}

/**********

【习题7.115】编写函数,将两个两位数的正整数a、b合并形成

一个整数c且作为函数值返回。合并的方式是:将a的十位和个位

数分别作为c的千位和十位数,b的十位和个位数分别作为c的百位和个位数。例如,若a=45,b=12,则该函数返回值为4152。

**********/

int func(int a, int b)

{ int c;

c=a/10*1000+a%10*10+b/10*100+b%10;

return c;

}

/**********

7.120 系统给定外部长整型变量n和字符数组变量s(不需要自行

定义)。main函数的功能是:把n的整数值转换成字符串,并逆序

保存在s中。例如,当n=20120826时,由n转换得到s="62802102"。请仅在空缺处填入合适内容,使其实现上述功能。

**********/

void main()

{

int i=0;

while( /*** 1 ***/n>0 )

{

s[i]= /*** 2 ***/n%10+'0' ;

/*** 3 ***/ n/=10;

i++;

}

s[i]='\0';

}

/**********

7.121 系统给定外部长整型变量n和字符数组变量s(不需要自行

定义)。main函数的功能是:把n的整数值转换成字符串,并保存

在s中。例如,当n=20120826时,由n转换得到s="20120826"。

请仅在空缺处填入合适内容,使其实现上述功能。

**********/

void main()

{

int i=0,k;

char c[10];

while( /*** 1 ***/ 10*n/10!=0)

{

c[i]= /*** 2 ***/n%10 ;

n/=10;

i++;

}

s[i--]='\0';

k=i;

while(i>=0)

{

s[i]=/*** 3 ***/c[k-i]+'0';

i--;

}

}

/**********

【习题7.125】编写函数,对非负浮点数r的值的第三位小数四舍五入,返回保留2位小数的值。例如:若r的值为8.32488,则函数返回8.32;若r的值为8.32533,则返回8.33。

**********/

float func(float r)

{ int a,b;

a=r*1000;

b=a%10;

if(b<5)

r=(a-b)*0.001;

else

r=(a-b+10)*0.001;

return r;

}

/**********

【习题7.135】假设n是一个k(k≥2)位的正整数,编写函数,

求出由n的低k-1位构成的数并作为函数值返回。例如:若n值

为5923,则函数返回923;若n值为923,则函数返回23。

**********/

int func(int n)

int i,j,k=n,m=1;

while(k>=10)

k/=10,i++;

for(j=1;j<=i;j++)

m=m*10;

n=n-k*m;

return n;

}

/**********

【习题7.175】编写函数,求n以内(不包括n)同时能被3与7 整除的所有自然数之和的平方根,并作为函数值返回。例如,

若n为100时,函数返回值应为14.49138。

**********/

float func(int n)

{

int i;float s;

for(i=0;i

{if(i%3==0&&i%7==0)

s=s+i; }

s=sqrt(s);

return(s);

}

/**********

【习题7.184】编写函数,根据公式s=1+1/(1+2)+1/(1+2+3)+ ……1/(1+2+3+…+n)计算s,并作函数值返回。例如:若n的值为11时,函数的值为1.833333。

**********/

float func(int n)

{

int i;

float j=1.0,s=1.0;

for(i=2;i<=n;i++)

{j=j+i;

s=s+1/j;

}

return (s);

}

/**********

【习题7.187】编写函数,计算并输出下列级数和:

1/(1*2)+1/(2*3)+1/(3*4)+ …+1/(n*(n+1)),

并返回结果。例如,当n=10时,函数值为0.90909。

**********/

float func(int n)

{

int i;

float x,y;

for(i=1;i<=n;i++)

{x=i*(i+1);

y=y+1/x;

}

return(y);

}

/**********

【习题7.195】编写函数,求m!/(n!(m-n)!)的值,结果由函数值

返回。m与n为两个正整数且要求m>n。例如:m=12,n=8时,运行结果为495.000000。

**********/

float func(int m, int n)

{

int i,j,k,l;

float x=1.0,y=1.0,z=1.0;

if(m<=n)

l=m,m=n,n=l;

for(i=1;i<=m;i++)

x=x*i;

for(j=1;j<=n;j++)

y=y*j;

for(k=1;k<=m-n;k++)

z=z*k ;

z=x/(z*y);

return(z);

}

/**********

【习题7.205】编写函数,计算并返回给定整数n除了1与自身

之外的所有因子之和。例如,若n=8,则函数返回6(=2+4)。

**********/

int func(int n)

{

int i,j,k;

for(i=1;i<=0.5*n;i++)

for(j=1;j<=n;j++)

if(i*j==n)

k=k+i+j;

k=k-1-n;

k=k/2;

return(k);

}

/**********

【习题7.255】编写函数,根据以下公式返回π的值

π/2 = 1+1!/3+2!/(3*5)+...+n!/(3*5*7*...*(2*n+1))

要求满足精度eps,即一旦有小于eps的项值加入后停止迭代。例如,若精度eps=0.0005,则返回值为3.141106。

**********/

float func(float eps)

{

int i;

float x=1,y=1,z;

for(i=1;(x/y)>=eps;i++)

{x=x*i;

y=y*(2*i+1);

z=z+x/y;}

z=2*z+2;

return(z);

}

/**********

【习题7.265】编写函数,将数组s所存字符串中下标和ASCII码均为偶数的字符,依次存入数组t中,并构成一个新串。例如,若s中的字符串值为ABCD123456,则t中的串值应为246。

**********/

void func(char s[], char t[])

{

int i,j,m=0;

for(i=0;s[i]!=0;i++)

if((i%2==0)&&(s[i]%2==0))

t[j]=s[i],j++;

}

/**********

【习题7.275】假定字符串s中可能含有字符'*'。请编写函数,

若字符串s的尾部连续的'*'多于n个,则删除多余的'*'。例如,

若s="*****A*BCDE**F*******"且n=4,则调用函数后,字符串

s="****A*BCDE**F****";若n≥7,则字符串s中的内容不变。注意:函数中不得调用C语言提供的字符串函数。

**********/

void func(char s[], int n)

{

int i,j,k,d=0,c=0,t=0;

while(s[d++])

c++;

for(i=c-1;i>=0;i--)

{if(s[i]=='*')

t++;

else break;}

if(t>n)

{k=t-n;

s[c-k]='\0';}

}

/**********

【习题7.315】编写函数,求出1到n之间(含n)能被7或11整除的所有整数并依次存入数组a中,函数值为这些数的个数。例如,

若n=15,则依次存入数组a中的数为7、11和14,函数值为3。**********/

int func(int n, int a[])

{

int i,j=0;

for(i=1;i<=n;i++)

if((i%7==0)||(i%11==0))

a[j]=i,j++;

return(j);

}

/**********

【习题7.317】编写函数,求出1到n之间(含n)都能被c和d整除的所有整数并依次存入数组a中,函数值为这些数的个数。例如,若n=20,c=2,d=3,则依次存入数组a中的数为6、12和18,函数值为3。

**********/

int func(int n, int c, int d, int a[])

{

int i,j;

for(i=1;i<=n;i++)

if((i%c==0)&&(i%d==0))

a[j]=i,j++;

return(j);

}

/**********

【习题7.325】假设数组a存放了n个人的年龄。编写函数,用

数组c统计各年龄段的人数,其中c[0]为0至9岁年龄段的人数,c[1]为10至19岁年龄段的人数,c[2]为20至29岁年龄段的人数,其余依此类推,c[10]为100岁(含100)以上年龄的人数。

**********/

void func(int n, int a[], int c[])

{

int i,b;

for(i=0;i<=10;i++)

c[i]=0;

for(i=0;i

{ if (a[i]>=100)

c[10]++;

else {

b=a[i]/10;

c[b]++;

}}

}

/**********

【习题7.335】假设字符数组a中存放了按由小到大连续存放的

字符构成的字符串(后跟一个'\0'作为结束符)。编写函数,

删去字符串中所有重复的字符(各自只保留一个),并使得保

留的字符仍构成一个字符串(连续存放,'\0'作为结束符)。

函数返回a中保留的字符串长度。例如,若a中的字符串值为:AAABBCDFFFHHHKLMMM

则删除重复字符之后,函数返回值为9,a中的字符串值为:ABCDFHKLM

**********/

int func(char a[])

{

int i;

//while(a[i]!='\0')

//i++;

char c[26];int j=1,k;

c[0]=a[0];

for(i=1;a[i]!='\0';i++)

if(a[i]!=a[i-1])

c[j]=a[i],j++;

while(c[k]!='\0')

k++;

for(i=0;i<=k;i++)

a[i]=c[i];

return(k);

}

/**********

【习题7.345】假设字符数组s中存放了一行字符串,含有由小写字母组成的若干单词,单词之间由若干个空格隔开(串的开头没有空格)。编写函数,统计一行字符串中单词的个数,并作为函数值返回。

**********/

int func(char s[])

{

int i,j;

for(i=0;s[i]!=0;i++)

if(s[i]==' ')

j++;

j+=1;

for(i=0;s[i]!=0;i++)

if((s[i]==' ')&&(s[i+1]==' ') )

j--;

return(j);

}

/**********

【习题7.355】假定字符串s中可能含有字符'*'。请编写函数,

将字符串s中前导'*'全部移到字符串的尾部。例如,若s的串

值为***A*BC*DEF*G**,移动后,串值应为A*BC*DEF*G*****。注意:不得调用C语言提供的字符串函数。

**********/

void func(char s[])

{

int i,j=0,k=0;

char b[100];

for(i=0;s[i]!='\0';i++)

{

if(s[i]=='*')

k++;

else break;

}

for(i=k;s[i]!='\0';i++)

{

b[j]=s[i];

j++;

}

for(i=0;i

{

if(i

s[i]=b[i];

else s[i]='*';

}

s[i]='\0';

}

/**********

【习题7.513】编写函数,计算并返回数组a中头n个

元素的乘积。

**********/

long func(int a[], int n)

{

for(i=0;i

s=s*a[i];

return(s);

}

/**********

【习题7.523】编写函数,计算并返回数组a中头n个元素的平方和。

**********/

long func(int a[], int n)

{

int i,s;

for(i=0;i

s=s+a[i]*a[i];

return (s);

}

/**********

【习题7.533】假设某班选举班长,k位候选人的

号码分别为1至k,n张选票已存入数组v(每个元

素值在1至k之间)。编写函数,用数组c统计各位候选人的得票(c[i]为i号候选人的得票数)。

**********/

void func(int v[], int n, int k, int c[])

{

int i,j;

for(j=0;j<=k;j++)

c[j]=0;

for(i=0;i

c[v[i]]++;

}

/**********

【习题7.535】假设某班选举班长,k位候选人的

号码分别为1至k,n张选票已存入数组v(每个元

素值在1至k之间)。编写函数,用数组c统计各位候选人的得票(c[i]为i号候选人的得票数),并

返回得票最高的人的号码。

**********/

int func(int v[], int n, int k, int c[])

{

for(i=0;i<5;i++)

c[i]=0;

for(i=0;i

c[v[i]]++;

max=c[0];

for(i=1;i<=k;i++)

if(max

{

j=i;

max=c[i];

}

return j;

}

/**********

【习题7.563】编写函数,把长整数n的各位数字从低

位到高位依次存储在数组d中,并返回n的位数。例如,若n=2579,则n的位数为4,d[0..3]=9,7,5,2。

**********/

int func(long n, int d[])

{int i;

while(n>0)

{d[i]=n%10,i++;

n=n/10; }

return(i);

}

/**********

【习题7.565】编写函数,把长整数n的各位数字从高

位到低位依次存储在数组d中,并返回n的位数。例如,若n=2579,则n的位数为4,d[0..3]=2,5,7,9。

**********/

int func(long n, int d[])

{

int i,j;

int a[25];

for(i=0;n!=0;i++)

{

a[i]=n%10;

n=n/10;

}

j=i;

for(i=0;i

d[i]=a[j-i-1];

return j;

}

/**********

【习题7.655】编写函数,用数组num统计字符串s中各元音字母(即:A、E、I、O、U)的个数。注意:不分大、小写。例如,若s="THIs is a book",则num[0..4]={1,0,2,2,0}。

**********/

void func(char *s, int *num)

/* 功能:用数组num统计符串s中元音字母出现的个数*/

{

int i;num[0]=0, num[1]=0,num[2]=0,num[3]=0,num[4]=0;

for(i=0;s[i]!='\0';i++)

if((s[i]=='a')||(s[i]=='A'))

num[0]++;

for(i=0;s[i]!='\0';i++)

if((s[i]=='e')||(s[i]=='E'))

num[1]++;

for(i=0;s[i]!='\0';i++)

if((s[i]=='i')||(s[i]=='I'))

num[2]++;

for(i=0;s[i]!='\0';i++)

if((s[i]=='o')||(s[i]=='O'))

num[3]++;

for(i=0;s[i]!='\0';i++)

if((s[i]=='u')||(s[i]=='U'))

num[4]++;

}

/**【习题7.675】假设在数组s中存放了n位学生的成绩。

编写函数,用数组p统计各分数段的人数,其中p[0]为

不足60分的人数,p[1]为60至69分的人数,p[2]为70

至79分的人数,p[3]为80至89分的人数,p[4]为90至

100分的人数。

广工Anyview试题答案第八章

/********** 【习题】请编写函数func(char s[], char t[], int n), 由数组s中长度为n的字符序列构造其逆序列,并存储在数组t中。例如,由给定字符序列?慜敲求得逆序列?敜慲;由?瑜浩履 求得?敜業屴。 **********/ void func(char s[], char t[], int n) /* 数组s的前n个元素存放给定的字符序列, 数组t的前n个元素存放s的逆序列。 注意:数组的下标从0开始。 */ { for(int i=0;i

广工管理学院各专业介绍

管理学院各专业介绍 工商管理专业 培养目标:本专业为广东省名牌专业,也是管理学院办学历史最长,综合实力最强的专业之一。工商管理专业以社会经济发展需要为导向,面向企事业单位、政府部门等各类组织,培养德、智、体全面发展,懂经济、专管理、擅长现代管理技术手段,具有专业管理才能的应用型高级专门人才。 主要课程:管理学、运筹学、经济学、统计学、会计学、财务管理、战略管理、人力资源管理、市场营销、管理系统工程、生产与运作管理、质量管理学、技术经济学、供应链与物流管理、管理信息系统、国际贸易理论与实务、公共关系学等。 就业方向:学生适合在工、商、贸、财等各类企事业单位和政府行政部门等组织从事包括:市场营销、人力资源管理、财务管理、进出口贸易、生产与运作管理、技术管理、物流管理、设备管理等专业管理工作。 该专业为广东省名牌专业 -------------------------------------------------------------------------------- 市场营销专业 培养目标:面向各类工商企业,培养具备市场营销、经济、管理、法律等方面理论知识和实践才能、能综合运用营销理论、管理理论、经济与法律等知识,从事企事业单位和各类组织的营销决策、营销策划、营销实务及其管理的应用型高级专门人才。 主要课程:营销学、管理学、经济学、统计学、经济法、运筹学、会计学、财务管理、商品学、市场调查与预测、广告学、服务营销、国际市场营销、消费者行为学、公共关系学、推销原理与技巧、企业形象策划与设计、谈判原理与技巧、电子商务、品牌管理等。 就业方向:适合在各类工商企业、政府经济管理部门等组织从事市场营销、进出口业务、市场调研、市场策划、产品推广、经营与管理等工作。 -------------------------------------------------------------------------------- 人力资源管理专业 培养目标:面向各类工商企业、政府行政部门等组织,培养具备管理学、组织行为学、经济学、人力资源管理理论和知识,掌握现代人力资源管理理论和技能,具有良好的语言与文字表达、人际沟通、组织协调、分析和解决人力资源管理问题的能力,熟悉人力资源管理相关政策和法规,能在各类企事业单位和政府行政部门等组织从事人力资源管理工作的应用型高级专业人才。 主要课程:管理学、运筹学、经济学、统计学、会计学、经济法、社会心理学、组织行为学、劳动经济学、劳动法规与政策、管理沟通、跨文化人力资源管理、人员测评理论与方法、工作分析与组织设计、职业生涯设计与管理、绩效与薪酬管理、人力资源管理咨询等。 就业方向:适合在工、商、贸、财等各类企事业单位和各级政府部门等组织从事人力资源管理工作,也可在相关单位从事管理咨询工作。 --------------------------------------------------------------------------------

广工Anyview试题答案第五章

/********** 【习题5.002】编写程序,利用while语句在同一行中 逐个显示从1至5的数字,每个数字之前保留2个空格。**********/ void main() { int i=1; while(i<=5) { printf(" %d",i); i++; } } /********** 【习题5.003】编写程序,利用for语句在同一行中逐个 显示从1至6的数字,每个数字之前保留2个空格。 **********/ void main() { for(int i=1;i<=6;i++) printf(" %d",i);

} /********** 【习题5.004】n是系统给定的外部整型变量(不需要 自行定义)。编写程序,利用循环语句在同一行中逐 个显示从1至n的数字,每个数字之前保留2个空格。**********/ void main() { for(int i=1;i<=n;i++) printf(" %d",i) ; } /********** 【习题5.012】请仅在程序空缺处填入合适内容,使其 实现功能:依次输入5个整数,计算它们之和并输出。**********/ #include void main() { int i,sum=0,n; for (i=1;i<=5;i++)

{ scanf("%d",&n); sum=sum+n; } printf("sum = %d",sum); } /********** 【习题5.020】n和s是系统给定的外部整型变量(不需要 自行定义)。编写程序,求1到n之间的整数之和,并将结果存放到s。 **********/ void main() { for(int i=1;i<=n;i++) s+=i; } /********** 【习题5.022】n是系统给定的外部变量。编写程序, 求1到n间的自然数之和。请定义局部变量s存放求和 的结果,并用下列语句输出结果 printf("1+2+...+n=%d\n",s);

习题及参考答案

习题参考答案 第1章绪论 1.1 数据挖掘处理的对象有哪些?请从实际生活中举出至少三种。 答:数据挖掘处理的对象是某一专业领域中积累的数据,对象既可以来自社会科学,又可以来自自然科学产生的数据,还可以是卫星观测得到的数据。数据形式和结构也各不相同,可以是传统的关系数据库,可以是面向对象的高级数据库系统,也可以是面向特殊应用的数据库,如空间数据库、时序数据库、文本数据库和多媒体数据库等,还可以是Web数据信息。 实际生活的例子: ①电信行业中利用数据挖掘技术进行客户行为分析,包含客户通话记录、通话时间、所 开通的服务等,据此进行客户群体划分以及客户流失性分析。 ②天文领域中利用决策树等数据挖掘方法对上百万天体数据进行分类与分析,帮助天文 学家发现其他未知星体。 ③制造业中应用数据挖掘技术进行零部件故障诊断、资源优化、生产过程分析等。 ④市场业中应用数据挖掘技术进行市场定位、消费者分析、辅助制定市场营销策略等。 1.2 给出一个例子,说明数据挖掘对商务的成功是至关重要的。该商务需要什么样的数据挖 掘功能?它们能够由数据查询处理或简单的统计分析来实现吗? 答:例如,数据挖掘在电子商务中的客户关系管理起到了非常重要的作用。随着各个电子商务网站的建立,企业纷纷地从“产品导向”转向“客户导向”,如何在保持现有的客户同时吸引更多的客户、如何在客户群中发现潜在价值,一直都是电子商务企业重要任务。 但是,传统的数据分析处理,如数据查询处理或简单的统计分析,只能在数据库中进行一些简单的数据查询和更新以及一些简单的数据计算操作,却无法从现有的大量数据中挖掘潜在的价值。而数据挖掘技术却能使用如聚类、关联分析、决策树和神经网络等多种方法,对数据库中庞大的数据进行挖掘分析,然后可以进行客户细分而提供个性化服务、可以利用挖掘到的历史流失客户的特征来防止客户流失、可以进行产品捆绑推荐等,从而使电子商务更好地进行客户关系管理,提高客户的忠诚度和满意度。 1.3 假定你是Big-University 的软件工程师,任务是设计一个数据挖掘系统,分析学校课程 数据库。该数据库包括如下信息:每个学生的姓名、地址和状态(例如,本科生或研究生)、所修课程,以及他们的GPA。描述你要选取的结构,该结构的每个成分的作用是什么?答:任务目的是分析课程数据库,那么首先需要有包含信息的关系型数据库系统,以便查找、提取每个属性的值;在取得数据后,需要有特征选择模块,通过特征选择,找出要分析的属性;接下来需要一个数据挖掘算法,或者数据挖掘软件,它应该包含像分类、聚类、关联分析这样的分析模块,对选择出来的特征值进行分析处理;在得到结果后,可以用可视化软件进行显示。 1.4 假定你作为一个数据挖掘顾问,受雇于一家因特网搜索引擎公司。通过特定的例子说明, 数据挖掘可以为公司提供哪些帮助,如何使用聚类、分类、关联规则挖掘和离群点检测等技术为企业服务。 答: (1)使用聚类发现互联网中的不同群体,用于网络社区发现;

2016最新广工anyview数据结构答案

【题目】若两棵二叉树T1和T2皆为空,或者皆不空且T1的左、右子树和T2的左、右子树分别相似,则称二叉树T1和T2相似。试编写算法,判别给定两棵二叉树是否相似。 二叉链表类型定义: typedef struct BiTNode { TElemType data; struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; **********/ Status Similar(BiTree T1, BiTree T2) /* 判断两棵二叉树是否相似的递归算法*/ { if(!T1&&!T2)//同为空时,两树相似 return TRUE;

else if(T1&&T1){ if(Similar(T1 -> lchild,T2 -> lchild) && Similar(T1 -> rchild,T2 -> rchild)) //两树都不为空时,判断左右子树是否相似 return TRUE; else return FALSE; }else//以上两种情况都不符合,就直接返回FALSE return FALSE; } /********** 【题目】编写递归算法,求对二叉树T先序遍历时 第k个访问的结点的值。 二叉链表类型定义: typedef struct BiTNode {

TElemType data; struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; **********/ TElemType PreOrder(BiTree T, int &k) { TElemType x='#'; if(T==NULL)return '#'; if(k==1)return T->data; if(T->lchild!=NULL) { k--; x=PreOrder(T->lchild,k); } if(T->rchild!=NULL&&x=='#')

数据挖掘试卷及答案

12/13 年第2学期《数据挖掘与知识发现》期末考试试卷及答案 一、什么是数据挖掘?什么是数据仓库?并简述数据挖掘的步骤。(20分) 数据挖掘是从大量数据中提取或发现(挖掘)知识的过程。 数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合,用于支持经营管理中的决策制定过程。 步骤: 1)数据清理(消除噪声或不一致数据) 2) 数据集成(多种数据源可以组合在一起) 3 ) 数据选择(从数据库中检索与分析任务相关的数据) 4 ) 数据变换(数据变换或统一成适合挖掘的形式,如通过汇总或聚集操作) 5) 数据挖掘(基本步骤,使用智能方法提取数据模式) 6) 模式评估(根据某种兴趣度度量,识别表示知识的真正有趣的模式;) 7) 知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识) 二、元数据的定义是什么?元数据包括哪些内容?(20分) 元数据是关于数据的数据。在数据仓库中, 元数据是定义仓库对象的数据。 元数据包括: 数据仓库结构的描述,包括仓库模式、视图、维、分层结构、导出数据的定义, 以及数据集市的位置和内容。 操作元数据,包括数据血统(移植数据的历史和它所使用的变换序列)、数据流通(主动的、档案的或净化的)、管理信息(仓库使用统计量、错误报告和审计跟踪)。 汇总算法,包括度量和维定义算法, 数据所处粒度、划分、主题领域、聚集、汇总、预定义的查询和报告。 由操作环境到数据仓库的映射,包括源数据库和它们的内容,网间连接程序描述, 数据划分, 数据提取、清理、转换规则和缺省值, 数据刷新和净化规则, 安全 (用户授权和存取控制)。 关于系统性能的数据,刷新、更新定时和调度的规则与更新周期,改善数据存取和检索性能的索引和配置。 商务元数据,包括商务术语和定义, 数据拥有者信息和收费策略。 三、在 O L A P 中,如何使用概念分层? 请解释多维数据模型中的OLAP上卷 下钻切片切块和转轴操作。(20分) 在多维数据模型中,数据组织成多维,每维包含由概念分层定义的多个抽象层。这种组织为用户从不同角度观察数据提供了灵活性。有一些 O L A P 数据立方体操作用来物化这些不同视图,允许交互查询和分析手头数据。因此, O L A P 为交互数据分析提供了友好的环境。 上卷:上卷操作通过一个维的概念分层向上攀升或者通过维归约,在数据立方体上进行聚集。 下钻:下钻是上卷的逆操作,它由不太详细的数据到更详细的数据。下钻可以通过沿维的概念分层向下或引入新的维来实现。 切片:在给定的数据立方体的一个维上进行选择,导致一个子方。 切块:通过对两个或多个维执行选择,定义子方。

广工Anyview试题答案-第五章

广工Anyview试题答案-第五章

/********** 【习题5.002】编写程序,利用while语句在同一行中 逐个显示从1至5的数字,每个数字之前保留2个空格。 **********/ void main() { int i=1; while(i<=5) { printf(" %d",i); i++; } } /********** 【习题5.003】编写程序,利用for语句在同一行中逐个 显示从1至6的数字,每个数字之前保留2个空格。 **********/

void main() { for(int i=1;i<=6;i++) printf(" %d",i); } /********** 【习题5.004】n是系统给定的外部整型变量(不需要 自行定义)。编写程序,利用循环语句在同一行中逐 个显示从1至n的数字,每个数字之前保留2个空格。 **********/ void main() { for(int i=1;i<=n;i++) printf(" %d",i) ; } /********** 【习题5.012】请仅在程序空缺处填入合适内容,

使其 实现功能:依次输入5个整数,计算它们之和并输出。 **********/ #include void main() { int i,sum=0,n; for (i=1;i<=5;i++) { scanf("%d",&n); sum=sum+n; } printf("sum = %d",sum); } /********** 【习题5.020】n和s是系统给定的外部整型变量(不需要 自行定义)。编写程序,求1到n之间的整数之和,并将结 果存放到s。 **********/

广工数据挖掘复习要点汇总

第一章绪论 1.数据挖掘要解决的问题:面对高维,复杂,异构的海量数据,如何集中获取有用的信息和知识。 2.数据挖掘定义: ·技术层面上:数据挖掘就是从大量数据提取有用信息的过程; ·商业层面上:数据挖掘就是对大量业务数据进行抽取,转换和分析以及建模处理,从中提取辅助商业决策的关键性数据。 3.数据挖掘的特征:先前未知,有效和实用。 4.数据挖掘对象:·关系数据库(借助集合代数等概念和方法来处理数据库中的数据)·数据仓库(数据集合,用于支持管理决策)·事务数据库(每个记录代表一个事务)·空间数据库·事态数据库和时间序列数据库·流数据·多媒体数据库·文本数据库·万维数据库 5.数据挖掘任务:分类分析(按照某种规则),聚类分析(具有共性),回归分析,关联分析(具有关联规则),离群点检测(发现与众不同的数据),演化分析(随时间变化的数据对象的趋势),序列模式挖掘(分析前后序列模式) 6.数据挖掘过程:数据清洗,数据集成(考虑数据一致性和冗余),数据选择,数据转换,数据挖掘,模式评估,知识表示。 例题: 1.1 数据挖掘处理的对象有哪些?请从实际生活中举出至少三种。 答:数据挖掘处理的对象是某一专业领域中积累的数据,对象既可以来自社会科学,又可以来自自然科学产生的数据,还可以是卫星观测得到的数据。数据形式和结构也各不相同, 可以是传统的关系数据库,可以是面向对象的高级数据库系统,也可以是面向特殊应用的 数据库,如空间数据库、时序数据库、文本数据库和多媒体数据库等,还可以是Web 数据 信息。 实际生活的例子: ①电信行业中利用数据挖掘技术进行客户行为分析,包含客户通话记录、通话时间、所 开通的服务等,据此进行客户群体划分以及客户流失性分析。 ②天文领域中利用决策树等数据挖掘方法对上百万天体数据进行分类与分析,帮助天文 学家发现其他未知星体。 ③制造业中应用数据挖掘技术进行零部件故障诊断、资源优化、生产过程分析等。 ④市场业中应用数据挖掘技术进行市场定位、消费者分析、辅助制定市场营销策略等。 1.5定义下列数据挖掘功能:关联、分类、聚类、演变分析、离群点检测。使用你熟悉的生活中的数据,给出每种数据挖掘功能的例子。 答:关联是指发现样本间或样本不同属性间的关联。例如,一个数据挖掘系统可能发现 的关联规则为:major(X, “puting science”)?owns(X, “personal puter”) [support=12%, confidence=98%] 其中,X 是一个表示学生的变量。该规则指出主修计 算机科学并且拥有一台个人计算机的学生所占比例为12%,同时,主修计算机专业的学 生有98%拥有个人计算机。 分类是构造一系列能描述和区分数据类型或概念的模型(或功能),分类被用作预测 目标数据的类的标签。例如,通过对过去银行客户流失与未流失客户数据的分析,得到

广工Anyview试题答案第八章

/**********【习题】请编写函数func(char s[], char t[], int n), 由数组s中长度为n的字符序列构造其逆序列,并存储在数组t中。 例如,由给定字符序列s="are"求得逆序列t="era";由s="time" 求得t="emit"。 **********/ void func(char s[], char t[], int n) /* 数组s的前n个元素存放给定的字符序列, 数组t的前n个元素存放s的逆序列。 注意:数组的下标从0开始。 */ { for(int i=0;i

广工Anyview试题答案 第四章

/********** 【习题4.011】关系表达式,if语句第一种形式 在以下程序空缺处填写合适内容,使得程序判断用户输入的字符是否为'@',若是则显示:"输入正确"。**********/ #include void main() { char c; scanf("%c",&c); if( c=='@' ) printf("输入正确\n"); } /********** 【习题4.012】关系表达式,if语句第一种形式 在以下程序空缺处填写合适内容,使得程序输入 一个整数赋给变量a,计算并输出a的绝对值a1。**********/ #include #include void main() { int a,a1; scanf("%d",&a); a1=abs(a); printf("|%d| = %d\n",a,a1); } /********** 【习题4.013】逻辑表达式,if语句第一种形式 在以下程序空缺处填写合适内容,使得程序对 输入的整型变量x的值进行判断,若变量x值为“假”时输出“False”。 **********/ #include int main( ) { int x; scanf("%d",&x); if(x==0 )

printf("False!\n"); return 0; } /********** 【习题4.016】if语句的子句为复合语句 在以下程序空缺处填写合适内容,使得程序将输入到变量a和b的两个整数按照由大到小的顺序输出。**********/ #include void main( ) { inta,b,t; scanf("%d %d",&a,&b); if(ab成立则将b的平方值赋予 c,否则将0赋予c;最后显示c的值。 **********/ void main() { intc,d; c=( else c=0; printf("c=%d\n",c); } /********** 【习题4.211】已知3个非零整数被分别输入到整型

2016广工Anyview试题答案-第六章

【习题6.033】系统给定外部整型数组a、整型变量n、max、min 和实型变量avg(不需要自行定义)。编写程序,求数组a中前n 个元素的最大值max、最小值min及平均值avg。 **********/ void main() { inti,sum=0; max=min=a[0]; for(i=0;i=max) max=a[i]; if(a[i]<=min) min=a[i]; sum+=a[i]; } avg=sum/(float)n; } /********** 【习题6.043】系统给定外部整型变量n和整型数组a(不需要 自行定义)。编写程序,找出数组a中前n个元素中的最小元素及其下标,然后把它和数组中最前面的元素a[0]交换位置。 **********/ void main() { int b=a[0],temp,min,z; for(int i=1;ia[i]) b=a[i]; } min=b; for(int j=0;j

【习题6.050】系统给定外部字符串s和整型数组c[26](不需要 自行定义)。编写程序,将字符串s中26个小写字母出现的次数 依次统计到数组c中。例如,当s=“abcijkabcdexyzuvwx”时, 数组c的26个元素值依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 1 1。 **********/ #include void main() { int i; for(i=0;s[i];i++) if(s[i]>='a'&&s[i]<='z') c[s[i]-'a']++; for(i=0;i<26;i++) printf("%d ",c[i]); printf("\n"); } /********** 【习题6.051】系统给定外部字符串s和整型数组c[26] (不需要自行定义)。编写程序,将字符串s中26个字母 (不区分大小写)出现的次数依次统计到数组c中。例如, 当s=“AbcijKaBcdEXyzuvwx”时,数组c的26个元素值 依次为:2 2 2 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 2 1 1。 **********/ void main() { int i; for(i=0;s[i];i++) { if(s[i]>='A'&&s[i]<='Z') c[s[i]-'A']++; if(s[i]>='a'&&s[i]<='z') c[s[i]-'a']++; } } /********** 【习题6.110】系统给定外部字符数组变量s和数组长度n(不需要自行定义)。main函数的功能是:把字符串s中所有小写字母转换为大写字母,其他字符不变。例如,当s="68abcdEFGhijkLM86"

广工数据挖掘复习要点汇总

第一章绪论 1. 数据挖掘要解决的问题:面对高维,复杂,异构的海量数据,如何集中获取有用的信息和知识。 2. 数据挖掘定义: ?技术层面上:数据挖掘就是从大量数据提取有用信息的过 程; ?商业层面上:数据挖掘就是对大量业务数据进行抽取,转换和分析以及建模处理,从中提取辅助商业决策的关键性数据。 3. 数据挖掘的特征:先前未知,有效和实用。 4. 数据挖掘对象:?关系数据库(借助集合代数等概念和方法来处理数据库中的数据)?数据仓库(数据集合,用于支持管理决策)?事务数据库(每个记录代表一个事务)?空间数据库?事态数据库和时间序列数据库?流数据?多媒体数据库?文本数据 库?万维数据库 5. 数据挖掘任务:分类分析(按照某种规则),聚类分析(具有 共性),回归分析,关联分析(具有关联规则),离群点检测(发现与众不同的数据),演化分析(随时间变化的数据对象的趋势)序列模式挖掘(分析前后序列模式) 6. 数据挖掘过程:数据清洗,数据集成(考虑数据一致性和冗余)数据选择,数据转换,数据挖掘,模式评估,知识表示。例题:

1.1 数据挖掘处理的对象有哪些?请从实际生活中举出至少三种。 答:数据挖掘处理的对象是某一专业领域中积累的数据,对象既可以来自社会科学, 又可以 来自自然科学产生的数据, 还可以是卫星观测得到的数据。数据形式和结构也各不相同, 可以是传统的关系数据库, 可以是面向对象的高级数据库系统, 也可以是面向特殊应用的 数据库, 如空间数据库、时序数据库、文本数据库和多媒体数据库等,还可以是数据 信息。 实际生活的例子: ①电信行业中利用数据挖掘技术进行客户行为分析,包含客户通话记录、通话时间、所开通的服务等,据此进行客户群体划分以及客户流失性分析。②天文领域中利用决策树等数据挖掘方法对上百万天体数据进行分类与分析,帮助天文 学家发现其他未知星体。 ③制造业中应用数据挖掘技术进行零部件故障诊断、资源优化、生产过程分析等。 ④市场业中应用数据挖掘技术进行市场定位、消费者分析、辅助制定市场营销策略等。 1.5 定义下列数据挖掘功能:关联、分类、聚类、演变分析、离群点检测。使用你熟悉的生活中的数据,给出每种数据挖掘功能的例子。

广工AnyView数据结构第15章答案

/********** 【题目】试写一算法,如果三个整数a,b和c的值 不是依次非递增的,则通过交换,令其为非递增。 ***********/ void Descend(int &a, int &b, int &c) /* 通过交换,令a >= b >= c */ { if(c<=b&&b<=a) return; else { if(a

/********** 【题目】已知k阶裴波那契序列的定义为 f(0)=0, f(1)=0, ..., f(k-2)=0, f(k-1)=1; f(n)=f(n-1)+f(n-2)+...+f(n-k), n=k,k+1,... 试编写求k阶裴波那契序列的第m项值的函数算法,k和m均以值调用的形式在函数参数表中出现。 **********/ Status Fibonacci(int k, int m, int &f) /* 求k阶斐波那契序列的第m项的值f */ { if(k<=1||m<0) return ERROR; else if(m==k-1) f=1; else if(m==0) f=0; else { int i,j,sum; int *t; t=(int*)malloc(m*sizeof(int)); for(i=0;i<=k-2;i++) t[i]=0; t[k-1]=1; for(i=k;i<=m;i++) { sum=0; for(j=i-k;j<=i;j++) sum+=t[j]; t[i]=sum; } f=t[m]; } return OK; } /********** 【题目】试编写算法,计算i!×2^i的值并存入数组 a[0..n-1]的第i-1个分量中(i=1,2,…,n)。假设计 算机中允许的整数最大值为MAXINT,则当对某个k (1≤k≤n)使k!×2^k>MAXINT时,应按出错处理。注意选择你认为较好的出错处理方法。 **********/

广工水力学试题

全国2001年10月高等教育自学考试 水力学试题 课程代码:02444 第一部分选择题(共20分) 一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.某流体的运动粘度v=3×10-6m2/s,密度ρ=800kg/m3,其动力粘度μ为( ) 图中相互之间可以列总流伯努利方程的断面是 断面和2-2断面 断面和3-3断面 断面和3-3断面 断面和4-4断面 3.如图所示,孔板上各孔口的大小形状相同,则各孔口的出流量是( ) >Q B =Q B

A.z1 B.z2 C.z1+ z2 D.z1+ z2+h w 6.在已知通过流量Q、渠道底坡i、边坡系数m及粗糙系数n的条件下,计算梯形断面渠道尺寸的补充条件及设问不能是( ) A.给定水深h,求底宽b B.给定宽深比β,求水深h与底宽b C.给定最大允许流速[v]max,求水底h与底宽b D.给定水力坡度J,求水深h与底宽b 7.断面单位能量e随水深h的变化规律是( ) A.e存在极大值 B.e存在极小值 C.e随h增加而单调增加 D.e随h增加而单调减少 8.下列各型水面曲线中,表现为上凸型的水面曲线是( ) 型型型型 9.根据堰顶厚度与堰上水头的比值,堰可分为( ) A.宽顶堰、实用堰和薄壁堰 B.自由溢流堰、淹没溢流堰和侧收缩堰 C.三角堰、梯形堰和矩形堰 D.溢流堰、曲线型实用堰和折线型实用堰 10.速度v、长度l、运动粘度v的无量纲组合是( ) A.vl v 2 B. v l v 2 C. v l v 22 D. vl v 第二部分非选择题(共80分) 二、填空题(本大题共10空,每空1分,共10分) 不写解答过程,将正确的答案写在每小题的空格内。错填或不填均分无。 11.潜体所受浮力的大小与其所在液体的______成正比。

广东工业大学LED电子显示屏改造采购项目

广东工业大学LED电子显示屏改造采购项目 询价文件 一、项目概述 【项目编号】:实验教学部2016【407】号 【项目名称】:实验3、4号楼LED电子显示屏改造采购项目 【采购预算】:114000.00元 本招标文件要求中,凡标有“★”的条款为“不允许负偏离的条款”,报价文件对这些条款的任何负偏离,将导致其成为无效报价。报价人在响应询价文件中对这部分内容应尽量列出具体参数或作出详细应答。 报价人应提供已注册品牌制造商原装、全新的、符合国家及用户提出的有关质量标准的设备。设备在正确安装后,能确保在正常的使用过程中安全、可靠,并达到有关规定的要求。设备应符合中国政府颁布的产品、质量、技术、安全标准及环保标准 所有货物及设计、制造、测试和安装都应符合采购时已颁布的现行中国国家或国家认可的(部颁、行业)标准和国际标准化组织以及等效或更优的其他国家的权威性标准和规范的有关条文。 二、项目需求 (一)基本需求 【LED显示屏】本LED显示屏(共两块)置于大学城广工实验三、四号楼两楼层内。 【信息发布】购买网络多媒体信息发布系统(NMIDS)一套,及终端的设备;【播放要求】:文字、图片、视频、动画等。 【控制要求】:信息发布控制系统支持有线、无线(含wifi、3G、4G、局域网)等多种控制方式,能有效实现集中统一控制。同时满足日后加装的其他显示屏时能够统一管理控制。

▲【安全要求】:提供发布内容的安全控制。控制电脑需植入管理人员加密系统,以防止不良信息误播。 (二)硬件设备要求 LED全彩显示屏 2.1★全彩色屏体显示技术参数

★P2.5室内全彩LED显示屏设备配置清单 ★【P2.5屏体参数】 设计显示尺寸:2.4*0.96M=2.3M2 边框尺寸:2470mm*1030mm(黑色拉丝不锈钢边框) 整屏分辨率:960*384点=368640点 整屏最大功率:约2KW (平均约:0.5W) 显示功能:视频、图片、文字、数字、符号、表格等

广工Anyview试题答案 第七章

/********** 【习题7.067】编写函数将一个NxN的二维数组的周边元素“顺时针”轮转1位。 例如:轮转前的数组轮转后的数组 1 2 3 4 1 2 4 5 6 ---> 7 5 3 7 8 9 8 9 6 **********/ voidturningClockwise(char a[N][N]) { int i; int flog=1; int t=a[0][N-1]; for(i=N-1;i>0;i--) a[0][i]=a[0][i-1]; for(i=0;i0;i--) a[i][N-1]=a[i-1][N-1]; a[1][N-1]=t; } /********** 【习题7.010】写一函数求3个整数中最小的数。 **********/ int min(int x, int y, int z) /* 返回3个整数x,y和z中最小的数*/ { if(x<=y&&x<=z) return x; if(y<=x&&y<=z) return y; if(z<=y&&z<=x) return z; } /********** 【习题7.020】编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付法?

例如,16元可有6种支付方法: 方法 1 2 3 4 5 6 10元0 0 0 0 1 1 5元0 1 2 3 0 1 1元16 11 6 1 6 1 **********/ int change(int n) { inti,j,k; int m=0; for(i=0;i<=n;i++) for(j=0;j<=n/5;j++) for(k=0;k<=n/10;k++) if(i+j*5+k*10==n) m++; return m; } /********** 【习题7.030】先编写一个判断素数的函数。再编写一个函数 将一个偶数表示为两个素数之和,并返回其中较小的素数。 注:素数指只能被1和自身整除的正整数。规定0,1不是素数。**********/ int prime(int n) /* 判断素数,如果是素数返回1,不是素数则返回0 */ { int k; if(n==0||n==1) return 0; for (k=2;k<(n/2);k++) if(n%k==0) return 0; return 1; } int f(int i) /* 将偶数i表示为两个素数之和,返回其中较小的素数*/ { int n; for(n=3;n<=i;n++) if(prime(i-n)&&prime(n)) return n; }

广东工业大学2019年博士学位研究生招生简章

广东工业大学 2019年博士学位研究生招生简章 (招生单位代码:11845) 2019年广东工业大学在机械工程等7个一级学科博士点(涵盖31个二级学科博士点)面向全国招收国家计划内的博士学位研究生,招生计划由教育部统一下达。 一、培养目标 培养德智体全面发展,在本门学科上掌握坚实宽广的基础理论和系统深入的专业知识,具有独立从事科学研究工作的能力,在科学或专门技术上做出创造性成果的高级专门人才。 二、学习年限 我校博士研究生的学习年限一般为三年。 三、报考条件 我校博士研究生招生每年一次,分为公开招考、硕博连读、“申请-考核”制三种招生方式。 (一)公开招考方式的报名条件 1.拥护中国共产党的领导,具有正确的政治方向,热爱祖国,愿意为社会主义现代化建设服务,遵纪守法,品行端正。 2.考生必须符合下列条件之一: (1)硕士研究生毕业或已获硕士学位的人员(含专业硕士学位); (2)应届硕士毕业生(最迟须在入学前毕业或取得硕士学位); (3)获得学士学位6年以上(含6年,从获得学士学位之日算起到博士生入学之日)并达到与硕士毕业生同等学力,且已取得硕士研究生8门以上主干课程的合格成绩(由研究生教务部门出具成绩证明),符合招生单位根据本单位的培养目标对考生提出的具体业务要求的人员。 3.在入学时年龄一般不超过45周岁。 4.身体和心理健康状况须达到我校规定的体检要求。 5.有至少两名所报考学科专业领域内的教授(或相当专业技术职称的专家)的书面推荐意见,所报考的博士生导师不能作为推荐人。 (二)硕博连读方式的报名条件

1.本校二年级全日制在读学术学位硕士研究生。 2.满足报考条件(一)中的第1、3、4、5条。 3.报考我校非定向博士研究生,攻博期间全日制脱产学习。 4.学习目的明确、态度端正、学风严谨,已完成硕士阶段规定的所有课程学习和考核,成绩优秀(学位课加权平均成绩80分及以上且无不及格科目)。 5.具有较强的语言表达能力,外语水平较高(限本单位招生专业目录中公布的语种)。 6.对学术研究有浓厚兴趣,具有较强创新精神和科研能力。硕士在学期间以第一作者(或导师第一,本人第二)身份且署名所读高校,在公开发行的学术刊物上发表(或拟录用)1篇以上(含1篇)与攻读博士学位学科、专业相关的学术论文;或以第一申请人(或导师第一,本人第二)身份且署名所读高校提出1项以上(含1项)与攻读博士学位学科、专业相关的发明专利申请,并已由国家知识产权局受理。 7.攻博专业及课题与硕士阶段的专业及课题密切相关,可在一级学科范围内跨专业申请,原则上不允许跨一级学科申请攻博。 8.经硕士导师推荐和拟接收博士导师同意。 其他具体事项请留意“广东工业大学研究生招生信息网”(以下称“我校研招网”,网址:https://www.wendangku.net/doc/f416546492.html,)届时发布的相关通知。 (三)“申请-考核”制方式的报名条件 1.中科院研究所、全国具有推免资格高校的全日制优秀应届硕士研究生(含学历教育全日制专业学位);或国(境)外一流大学应届(毕业1年以内)硕士研究生(申请时须提供教育部留学服务中心的认证报告)。 2.满足报考条件(二)中的2-8项。 其他具体事项请留意我校研招网届时发布的相关通知。 四、报考程序 (一)网上报名 符合条件的考生报考博士研究生须在规定时间内登录“中国研究生招生信息网”(网址:https://www.wendangku.net/doc/f416546492.html,/bsbm),按照流程填报及上传相关资料,并生成网报号。公开招考考生网上报名时间为2018年11月20日-12月25日。硕博连读和“申请-考核”制的网上报名时间及其他程序另行通知。 (二)现场确认及缴费 网上报名成功后,考生须在网报系统中下载打印《博士学位研究生网上报名信息简表》,连同在我校研招网下载打印的《广东工业大学攻读博士学位研究生报考登记表》,

广工数据结构参考答案全(anyview)分析

广工数据结构anyview 80道上机题 1. void Descend(int &x, int &y, int &z) /* 按从大到小顺序返回x,y和z的值*/ { int t; if(xx) { t=x; x=y; y=t; } } 2. Status Fibonacci(int k, int m, int &f) /* 求k阶斐波那契序列的第m项的值f */ { int *a; int i=1; if(k<2||m<0) return ERROR; if(m

a[k-1]=1; a[k]=1; while(i<=m) { a[i]=2*a[i-1]-a[i-k-1]; i++; } f=a[m]; return OK; } 3. void Scores(ResultType *result, ScoreType *score) /* 求各校的男、女总分和团体总分, 并依次存入数组score */ /* 假设比赛结果已经储存在result[ ]数组中, */ /* 并以特殊记录{"", male, ' ', "", 0 }(域scorce=0)*/ /* 表示结束*/ { int i; for(i=0;result[i].score!=0;i++) { score[result[i].schoolname-'A'].totalscore+=result[i].score; if(result[i].gender==male) score[result[i].schoolname-'A'].malescore+=result[i].score; else score[result[i].schoolname-'A'].femalescore+=result[i].score; } } 4 Status Series(int ARRSIZE, int a[]) /* 求i!*2^i序列的值并依次存入长度为ARRSIZE的数组a;*/ /* 若所有值均不超过MAXINT,则返回OK,否则返回OVERFLOW */ { int i=1,b=1,na=1; while(i<=ARRSIZE) { na*=i;b*=2; if(na*b>MAXINT) return OVERFLOW; a[i-1]=na*b; i++; if(i>ARRSIZE+1) return OVERFLOW; } return OK; } 5

相关文档
相关文档 最新文档