C语言程序设计——答案.doc_第1页
C语言程序设计——答案.doc_第2页
C语言程序设计——答案.doc_第3页
C语言程序设计——答案.doc_第4页
C语言程序设计——答案.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计-注意:部分源程序给出如下。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。-*/题目1:调用函数fun判断一个三位数是否水仙花数。 在main函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。 例如,153是一个水仙花数,因为153=13+53+33。#include stdio.hint fun(int n)/*Program*/* End */int main(void) int n,flag; scanf(%d,&n); flag=fun(n); if(flag) printf(%d 是水仙花数n,n); else printf(%d 不是水仙花数n,n);return 0;答案:-int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0;-题目2:请编写一个函数fun,函数的功能是:求出NM整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。#define N 4#define M 3#include int Row,Col;int fun(int arrayNM)/*Program*/* End */int main(void)int aNM,i,j,max,row,col;printf(input a array:);for(i=0;iN;i+) for(j=0;jM;j+) scanf(%d,&aij); for(i=0;iN;i+) for(j=0;jM;j+) printf(%d,aij); printf(n); max=fun(a); printf(max=%d,row=%d,col=%d,max,Row,Col);return 0;答案:-int max,i,j;max=array 00;Row=0;Col=0;for(i=0;iN;i+) for(j=0;jM;j+) if(maxarray ij) max=array ij; Row=i;Col=j;return(max);-题目3:编写函数判断一个整数m的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出100200之间满足条件的所有数。#include stdio.hint sub(int m)/*Program*/* End */ int main(void) int i; for(i=100;i=200;i+) if(sub(i)=1)printf(%4d,i); 答案:-int k,s=0; do s=s+m%10; m=m/10; while(m!=0); if(s%7=0)k=1; else k=0; return(k);-题目3:编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13的前n项之和。每一分数的分母是前两项的分母之和, 每一分数的分子是前两项的分子之和.例如:求前20项之和的值为32.660259。#include stdio.hfloat fun(int n)/*Program*/* End */int main(void)float y;y=fun(20);printf(y=%fn,y);return 0;答案:-int i; float f1=1,f2=1,f3,s=0; for(i=1;i=n;i+) f3=f1+f2; f1=f2; f2=f3; s=s+f2/f1; return s;-题目4:编写函数fun其功能是在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和,并在fun()函数中输出。#include stdio.hint main(void) int i,j,s,a33; for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s);return 0;int fun(int a33)/*Program*/* End */答案:-int sum;int i,j;sum=0;for(i=0;i3;i+) sum=sum+aii*aii; return sum;-题目5:编写函数fun,函数的功能是:求给定正整数m以 内的素数之和。 例如:当m=20时,函数值为77。#include stdio.hint fun(int m)/*Program*/* End */int main(void)int y;y=fun(20);printf(y=%dn,y);return 0;答案:-int i,k,s=0; for(i=2;i=m;i+) for(k=2;k4) z=x8 (x-4) z=4/(x*(x+1) (x-10) z=|x|+20 (其他)#include #include stdio.hfloat y(float x)/*Program*/* End */ int main(void)float x; scanf(%f,&x); printf(y=%fn,y(x);return 0; 答案:-float z; if(x4) z=sqrt(x-4); else if(x-4) z=pow(x,8); else if(x-10) z=4/(x*(x+1); else z=fabs(x)+20; return(z);-题目7:编写函数fun,函数的功能是:求1到100之间的偶数之积。#include stdio.hdouble fun(int m)/*Program*/* End */int main(void)printf(ji=%fn,fun(100);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-题目8:输入三个字符串,按由小到大顺序输出。编写交换函数fun,用交换指针的方式实现交换。#includeint main(void) static char s120,s220,s320;char fun();printf(输入三个字符串:n);scanf(%s,s1);scanf(%s,s2);scanf(%s,s3);if(strcmp(s1,s2)0) fun(s1,s2);if(strcmp(s1,s3)0) fun(s1,s3);if(strcmp(s2,s3)0) fun(s2,s3);printf(排序结果是:n%sn%sn%sn,s1,s2,s3);char fun(char *p1,char *p2)/*Program*/* End */答案:-char *p=NULL;strcpy(p,p1);strcpy(p1,p2);strcpy(p2,p);-题目9:编写函数fun,函数的功能是:计算并输出给定整数n的所有因子之和(不包括1与自身)。规定n的值不大于1000。例如:n的值为855时,应输出704。#include stdio.hint fun(int n)/*Program*/* End */int main(void)printf(s=%dn,fun(855);答案:-int s=0,i;for(i=2;in;i+)if(n%i=0)s=s+i;return s;-题目10:用函数求一个N阶方阵右下三角元素的和(包括副对角线上的元素)。#include #include stdio.h#define N 3int sum(int aN)/*Program*/* End */int main(void)int aNN,i,j;clrscr();for(i=0;iN;i+)for(j=0;jN;j+) aij=random(10)+10;printf(%3d,aij);printf(n);printf(=n);printf(sum=%5dn,sum(a);return 0;答案:-int i,j,k=0;for(i=0;iN;i+)for(j=N-1-i;jN;j+)k=k+aij;return(k);-题目11:编写函数fun,函数的功能是:求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。#include stdio.hint fun(int a,int n)/*Program*/* End */int main(void)int a10=1,3,6,9,4,23,35,67,12,88;int y;y=fun(a,10);printf(y=%dn,y);return 0;答案:-int i,k=0;float s=0,ave;for(i=0;in;i+)s+=ai;ave=s/n;printf(%f ,ave);for(i=0;iave)k+;return k;-题目12:求一批数中最大值和最小值的差。int max_min(int a,int n)/*Program*/* End */#define N 30#include stdlib.h#include stdio.hint main(void)int aN,i,k;clrscr();for(i=0;iN;i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论