分享
分销 收藏 举报 申诉 / 47
播放页_导航下方通栏广告

类型c语言程序的设计题目与答案.doc

  • 上传人:二***
  • 文档编号:4497930
  • 上传时间:2024-09-25
  • 格式:DOC
  • 页数:47
  • 大小:131KB
  • 下载积分:5 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 程序 设计 题目 答案
    资源描述:
    一、程序设计 共113题 第1题 题号:319 #include "stdio.h" void wwjt(); int fun(int m) { int i,k=1; if(m<=1) k=0; for(i=2;i<m;i++) if(m%i==0) k=0; return k; } 第2题 题号:351 ----------- 功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 #include<conio.h> #include<stdio.h> #define M 3 #define N 4 void wwjt(); void fun(int tt[M][N],int pp[N]) { int i,j; for(j=0;j<N;j++) { pp[j]=tt[0][j]; for(i=1;i<M;i++) if(tt[i][j]>pp[j]) pp[j]=tt[i][j]; } 第3题 题号:375 功能:从键盘上输入任意实数,求出其所对应的函数值。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) #include <math.h> #include<stdio.h> void wwjt(); double y(float x) { double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); } 第4题 题号:334 功能:求给定正整数n以的素数之积。(n<28) #include <stdio.h> #include"conio.h" void wwjt(); long fun(int n) { long i,k; long s=1; for(i=2;i<=n;i++) {for(k=2;k<i;k++) if(i%k==0)break; if(k==i)s=s*i; } return s; } 第5题 题号:333 功能:计算并输出给定整数的所有因子之积(包括自身)。 规定这个整数的值不大于50。 #include <stdio.h> #include"conio.h" void wwjt(); long int fun(int n) { long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; } 第6题 题号:50 功能:求出菲波那契数列的前一项与后一项之比的极限的 近似值例如:当误差为0.0001时,函数值为0.618056。 #include <stdio.h> #include "math.h" void wwjt(); float fun() { float f1=1,f2=1,f3; float r1=2,r2; do {r2=r1; r1=f1/f2; f3=f1+f2; f1=f2; f2=f3; }while(fabs(r1-r2)>1e-4); return r1; } 第7题 题号:394 功能:产生20个[30,120]上的随机整数放入二维数组 a[5][4]中, 求其中的最小值。 #include "stdlib.h" #include <stdio.h> void wwjt(); int amin(int a[5][4]) { int i,j,s; s=a[0][0]; for(i=0;i<5;i++) for(j=0;j<4;j++) if(s>a[i][j])s=a[i][j]; return(s); } 第8题 题号:337 功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并的方式是:将a数的十位和个位数依次放 在c数的百位和个位上, b数的十位和个位数依次放 在c数的十位和千位上。 例如:当a=45,b=12。调用该函数后,c=2415。 include <stdio.h> void wwjt(); void fun(int a, int b, long *c) { *c=a/10*100+a%10+b/10*10+b%10*1000; } 第9题 题号:388 功能:编写函数判断一个整数能否同时被3和5整除,若能 则返回值为1,否则为0。调用该函数求出15~300之 间能同时被3和5整除的数的个数。 #include <stdio.h> void wwjt(); int sum(int n) { if(n%3==0&&n%5==0) return(1); return(0);} 第10题 题号:16 功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数。 例如:若n值为5,则结果为153。 #include<stdio.h> void wwjt(); long int fun(int n) { int i; float f=1,s=0; for(i=1;i<=n;i++) {f=f*i; s=s+f;} return s; 第11题 题号:329 功能:对某一正数的值保留2位小数,并对第三位进行四舍 五入。 #include <stdio.h> #include"conio.h" void wwjt(); double fun(float h) { int i; i=(int)(h*1000)%10; if(i>=5) return(int)(h*100+1)/100.0; else return(int)(h*100)/100.0; 第12题 题号:410 功能:编写函数fun将一个数组中的值按逆序存放,并在 main()函数中输出。 例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。 #include <stdio.h> #define N 5 void wwjt(); int fun(int arr[],int n) { int i,t; for(i=0;i<n/2;i++) { t=arr[i]; arr[i]=arr[n-1-i]; arr[n-1-i]=t; } 第13题 题号:327 功能:能计算从1开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。 #include <stdio.h> void wwjt(); int fun(int n) { int sum,i; sum =0; for(i=1;i<=n;i++) {sum=sum+i;} return(sum); 第14题 题号:507 功能:编写函数fun求一个字符串的长度,在main函数中 输入字符串,并输出其长度。 #include <stdio.h> void wwjt(); int fun(char *p1) { char *p; int n=0; p=p1; while(*p++) n++; return n; 第15题 题号:44 功能:求出二维数组周边元素之和,作为函数值返回。二 维数组的值在主函数中赋予。 #define M 4 #define N 5 #include <stdio.h> void wwjt(); int fun(int a[M][N]) { int s=0; int i,j; for(i=0;i<M;i++) s=s+a[i][0]+a[i][N-1]; for(j=1;j<N-1;j++) s=s+a[0][j]+a[M-1][j]; return s; 第16题 题号:364 功能:求一个四位数的各位数字的立方和。 #include <stdio.h> void wwjt(); int fun(int n) { int d,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; 第17题 题号:339 功能:判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 于100。 说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。 例如:输入整数5,5的平方数是25,5是25中右侧的数,所 以5是同构数。 #include <stdio.h> void wwjt(); int fun(int x) { int k; k=x*x; if((k%10==x)||(k%100==x)) return 1; else return 0; 第18题 题号:331 功能:找出一个大于给定整数且紧随这个整数的素数,并 作为函数值返回。 #include <stdio.h> #include"conio.h" void wwjt(); int fun(int n) { int i,k; for(i=n+1;;i++){ for(k=2;k<i;k++) if(i%k==0) break; if(k==i) return(i); } 第19题 题号:317 功能:求出N×M整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 #define N 4 #define M 3 #include <stdio.h> void wwjt(); int Row,Col; int fun(int array[N][M]) { int max,i,j; max=array [0][0]; Row=0; Col=0; for(i=0;i<N;i++) {for(j=0;j<M;j++) if(max<array [i][j]) {max=array [i][j]; Row=i; Col=j;} } return(max); 第20题 题号:360 【程序设计】 功能:把20个随机数存入一个数组,然后输出该数组中的 最大值。 #include <stdio.h> #define VSIZE 20 void wwjt(); int vector[VSIZE] ; int fun(int list[],int size) { int i,max=0; for(i=1; i <size; i++) if(list[max]<list[i]) max=i; return max; 第21题 题号:355 功能:对长度为8个字符的字符串,将8个字符按降序排列。 例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。 #include<stdio.h> #include<ctype.h> #include<conio.h> void wwjt(); void fun(char *s,int num) { int i,j; char t; for(i=0;i<num;i++) for(j=i+1;j<num;j++) if(s[i]<s[j]) { t=s[i];s[i]=s[j];s[j]=t;} 第22题 题号:405 功能:编写函数fun计算下列分段函数的值: x^2+x+6 x<0且x≠-3 f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3 x^2-x-1 其它 #include <stdio.h> void wwjt(); float fun(float x) { float y; if (x<0 && x!=-3.0) y=x*x+x+6; else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0) y=x*x-5*x+6; else y=x*x-x-1; return y; 第23题 题号:338 功能:编写程序,实现矩阵(3行3列)的转置(即行列互换) 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 100 400 700 200 500 800 300 600 900 #include <stdio.h> void wwjt(); int fun(int array[3][3]) { int i,j,t; for(i=0; i < 3; i++) for(j=0; j < i; j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } 第24题 题号:392 功能:求一批数中最大值和最小值的积。 #define N 30 #include "stdlib.h" #include <stdio.h> void wwjt(); int max_min(int a[],int n) { int i,max,min; max=min=a[0]; for(i=1;i<n;i++) if(a[i]>max) max=a[i]; else if(a[i]<min) min=a[i]; return(max*min); 第25题 题号:407 功能:编写函数fun求sum=d+dd+ddd+……+dd...d(n个d), 其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函 数中输入。 #include <stdio.h> void wwjt(); long int fun(int d,int n) { long int s=0,t=0; int i; for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; } return s; 第26题 题号:395 ----------------------------------------------- 功能:求n阶方阵主、副对角线上的元素之积。 ------------------------------------------------*/ #define N 4 #include "stdlib.h" #include <stdio.h> void wwjt(); float mul(int arr[][N]) { int i,j; float t=1; for(i=0;i<N;i++) for(j=0;j<N;j++) if(i==j||i+j==N-1) t=t*arr[i][j]; return(t); 第27题 题号:42 功能:从字符串s中删除指定的字符c。 #include <stdio.h> void wwjt(); fun(char s[],char c) { int i,k=0; for(i=0;s[i]!='\0';i++) if(s[i]!=c) s[k++]=s[i]; s[k]='\0'; 第28题 题号:311 功能:计算n门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.600000。 #include <stdio.h> void wwjt(); float fun(int a[],int n) { int i; float y=0; for(i=0;i<n;i++) y+=a[i]; y=y/n; return y; 第29题 题号:348 功能:从低位开始取出长整型变量s中偶数位上的数,依次 构成一个新数放在t中。 例如:当s中的数为:7654321时,t中的数为:642。 #include <stdio.h> void wwjt(); long fun (long s,long t) { long sl=10; s /= 10; t = s % 10; while(s > 0) { s = s/100; t = s%10*sl + t; sl = sl * 10; ---------------------- 功能:编写函数求3!+6!+9!+12!+15+18!+21!。 #include <stdio.h> void wwjt(); float sum(int n) { int i,j; float t,s=0; for(i=3;i<=n;i=i+3) {t=1; for(j=1;j<=i;j++) t=t*j; s=s+t;} return(s); 第31题 题号:397 功能:编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意:str[0]代表字符串 的第一个字符)。 #include <stdio.h> void wwjt(); fun(char str[],int i,int n) { while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\0'; 第32题 题号:29 功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x<10 y= 0 x=10 -5 x>10 #include<stdio.h> void wwjt(); int fun(int n) { 答案: int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m; 第33题 题号:323 功能:求1到w之间的奇数之和。(w是大于等于100小于等 于1000的整数) #include <stdio.h> #include"conio.h" void wwjt(); long fun(int w) { long y=0; int i; for(i=1;i<=w;i++) if(i%2==1)y+=i; return y; 第34题 题号:312 功能:调用函数fun判断一个三位数是否"水仙花数"。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。 说明:所谓"水仙花数"是指一3位数,其各位数字立方和 等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 #include <stdio.h> void wwjt(); int fun(int n) { 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; 第35题 题号:378 功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 #include <stdlib.h> #include<stdio.h> void wwjt(); void sort(int a[],int n) { int i,j,t; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(a[j]>a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; } 第36题 题号:504 功能:编写程序打印如图1所示图形。 * *** ***** ******* ***** *** * 要求:要求使用abs()。 #include <stdio.h> #include "math.h" void wwjt(); void fun(int i) { 答案: for(m=-i;m<=i;m++) { for(n=0;n<abs(m);n++) printf(" "); for(n=0;n<7-2*abs(m);n++) printf("*"); printf("\n"); } 第37题 题号:342 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出矩阵第一行与第三行元素之和, 并在fun()函数中输出。 #include <stdio.h> void wwjt(); 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); wwjt(); } int fun(int a[3][3]) { int sum; int i,j; sum=0; for(i=0;i<3;i+=2) for(j=0;j<3;j++) sum=sum+a[i][j]; return sum; 第38题 题号:382 功能:给定n个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 #include <stdio.h> void wwjt(); int station(int s[],int n) { int i,k; k=0; for(i=1;i<n;i++) if(s[i]<s[k]) k=i; return(k); 第39题 题号:62 功能:求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。 例如:主函数中给出的矩阵的两条对角线的和为45。 #include <stdio.h> #define M 5 void wwjt(); int fun(int a[M][M]) { int s=0; int i,j; for(i=0;i<M;i++) s=s+a[i][i]+a[i][M-1-i]; s=s-a[(M-1)/2][(M-1)/2]; return s; 第40题 题号:503 题目:分别统计字符串中字母、数字、空格和其他字符出现的 次数(字符长度小于80)。 #include <stdio.h> void wwjt(); /*-全局变量,a用于保存字母个数、num用于保存数字个数 b用于保存空格个数、other用于保存其他字符字数*/ int a=0,num=0,b=0,other=0; void count(char c[]) { 答案: int i; for(i=0;c[i]!='\0';i++) if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z')) a=a+1; else if (c[i]>='0'&&c[i]<='9') num=num+1; else if (c[i]==' ') b=b+1; else other=other+1; 第41题 题号:387 功能:求一批数中最大值和最小值的差。 #define N 30 #include "stdlib.h" #include <stdio.h> void wwjt(); int max_min(int a[],int n) { int i,max,min; max=min=a[0]; for(i=1;i<n;i++) if(a[i]>max) max=a[i]; else if(a[i]<min) min=a[i]; return(max-min); } 第42题 题号:347 功能:把20个随机数存入一个数组,然后输出该数组中的 最小值。其中确定最小值的下标的操作在fun函数中 实现,请给出该函数的定义。 #include <stdio.h> #define VSIZE 20 void wwjt(); int vector[VSIZE] ; int fun(int list[],int size) { int i,min=0; for(i=1; i <size; i++) if(list[min]>list[i]) min=i; return min; 第43题 题号:365 功能:求1到100之间的偶数之积。 #include <stdio.h> void wwjt(); double fun(int m) { double y=1; int i; for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; 第44题 题号:366 功能:求一组数于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函 数值为3。 #include <stdio.h> void wwjt(); int fun(int a[],int n) { int i,k=0; float s=0,ave; for(i=0;i<n;i++) s+=a[i]; ave=s/n; printf("%f ",ave); for(i=0;i<n;i++) if(a[i]>ave)k++; return k; 第45题 题号:361 例如:输入下面的矩阵: 100 200 300 400 500 600 700 800 900 程序输出: 200 400 600 800 1000 1200 1400 1600 1800 #include <stdio.h> void wwjt(); int fun(int array[3][3]) { int i,j; for(i=0; i < 3; i++) for(j=0; j < 3; j++) array[i][j]=array[i][j]*2; 第46题 题号:373 功能:用函数求fibonacci数列前n项的和。 说明:fibonacci数列为数列的第一项值为1,第二项值也 为1,从第三项开始,每一项均为其前面相邻两项 的和。 例如:当n=28时,运行结果:832039 include <stdio.h> void wwjt(); long sum(long f1,long f2) { long f,k=f1+f2; int i; for(i=3;i<=28;i++) {f=f1+f2; k=k+f; f1=f2; f2=f; } return(k); 第47题 题号:340 功能:编写一个函数,该函数可以统计一个长度为2的字符 串在另一个字符串中出现的次数。 例如:假定输入的字符串为:asdasasdfgasdaszx67asdmklo, 字符串为:as,则应输出6。 #include<stdio.h> #include<string.h> #include<conio.h> void wwjt(); int fun(char *str,char *substr) { int i,n=0; for(i=0;i<=strlen(str)-2;i++) if((str[i]==substr[0])&&(str[i+1]==substr[1])) n++; return n; 第48题 题号:322 功能:判断一个整数w的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。 #include <stdio.h> #include"conio.h" void wwjt(); int fun(int w) { int k,s=0; do {s=s+(w%10)*(w%10); w=w/10; }while(w!=0); if(s%5==0)k=1; else k=0; return(k); 第50题 题号:411 功能:对任意输入的 x,用下式计算并输出 y 的值。 -1 x<0 y= 0 x=0 1 x>0 #include<stdio.h> void wwjt(); int fun(int n) { 答案: int m; if(n<0) m=-1; else if(n==0) m=0; else m=1; return m; 或 int m; if(n>=0) if(n>0) m=1; else m=0; else m=-1; return m; 第51题 题号:320 功能:在键盘上输入一个3行3列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的积,并在fun() 函数中输出。 #include <stdio.h> void wwjt(); 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); wwjt(); } int fun(int a[3][3]) { int sum; int i,j; sum=1; for(i=0;i<3;i++) sum=sum*a[i][i]; return sum; 第52题 题号:318 /功能:输入一个字符串,过滤此串,只保留串中的字母字 符,并统计
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:c语言程序的设计题目与答案.doc
    链接地址:https://www.zixin.com.cn/doc/4497930.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork