复习资料程序设计设计部分

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习资料

程序设计部分主要包括程序设计的三大结构、及数组、指针的应用及函数等。

1、求和问题:

功能:求给定正整数m以内的素数之和。例如:当m=20时,函数值为77。

#include

int fun(int m)

{/**********Program**********/

int i,k,s=0;

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

{for(k=2;k

if(i%k==0)break;

if(k==i)s=s+i;

}

return s;

/********** End **********/

}

main()

{ int y;

y=fun(20);

printf("y=%d\n",y);

}

2. 矩阵计算(二维数组)功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出。

#include

main()

{ int i,j,s,a[3][3];;

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

{ for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

}

s=fun(a);

printf("Sum=%d\n",s);

}

int fun(int a[3][3])

{ /**********Program**********/

int sum;

int i;

sum=0;

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

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

return sum;

/********** End **********/

}

3. 题目:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。------------------------------------------------*/

#include

#include

#define N 3

int sum(int a[][N])

{

/**********Program**********/

int i,j,k=0;

for(i=0;i

for(j=N-1-i;j

k=k+a[i][j];

return(k);

/********** End **********/

}

main()

{

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

for(i=0;i

{

for(j=0;j

{

a[i][j]=random(10)+10;

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

}

printf("\n");

}

printf("===================\n");

printf("sum=%5d\n",sum(a));

}

4. 计数问题

功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。------------------------------------------------*/

#include

#include

#define MAX 100

int fun(int lim,int aa[MAX])

{

/**********Program**********/

int n=0;

int i,j;

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

{for(j=2;j

if(i%j==0) break;

if(j==i) aa[n++]=i;

}

return n;

/********** End **********/

}

main()

{

int limit,i,sum;

int aa[MAX];

printf("Please input ainteger:");

scanf("%d",&limit);

sum=fun(limit,aa);

for(i=0;i

if(i%10==0&&i!=0) printf("\n");

printf("%5d",aa[i]);

}

}

5. 功能:求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

#include

int fun(int a[],int n)

{

/**********Program**********/

int i,k=0;

float s=0,ave;

for(i=0;i

s+=a[i];

ave=s/n;

printf("%f ",ave);

for(i=0;i

if(a[i]>ave)k++;

return k;

/********** End **********/

}

main()

{int a[10]={1,3,6,9,4,23,35,67,12,88};

int y;

y=fun(a,10);

printf("y=%d\n",y);

}

6. 字符串排序——题目:任输入十个国家的名字,按由小到大排序。#include

#include

void main( )

{

char a[10][20],b[20]; //用来保存国家的名字b表示中间变量

int i,j; //循环变量

/**********Program**********/

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

gets(a[i]);

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

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

if (strcmp(a[i],a[j])>0)

{ strcpy(b,a[i]);

strcpy(a[i],a[j]);

strcpy(a[j],b);

}

/********** End **********/

for (i=0;i<10;i++) printf("%s\n",a[i]);

}

相关文档
最新文档