复习资料程序设计设计部分
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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]); }