收藏 分销(赏)

2021年C语言习题题库作答完整.docx

上传人:二*** 文档编号:4509664 上传时间:2024-09-26 格式:DOCX 页数:64 大小:27.04KB
下载 相关 举报
2021年C语言习题题库作答完整.docx_第1页
第1页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、程序填空 共2题 第1题/*-【程序填空】-功能:编程求某年第n天日期。用数组表达月天数。-*/#include #include main() int y,m,f,n; int a12=31,28,31,30,31,30,31,31,30,31,30,31; printf(y,n=); scanf(%d,%d,&y,&n); /*SPACE*/ f=y%4=0&y%100!=0【|】y%400=0; /*SPACE*/ a1【+=】f; if(n365+f) printf(error!n);exit(0); /*SPACE*/ for(m=1;m【】am-1;n-=am-1,m+); pri

2、ntf(y=%d,m=%d,d=%dn,y,m,n);第2题 /*-【程序填空】-题目:下列程序从键盘输入所需数据,求出z值并输出,规定输出成果保存2位小数。-*/#include /*SPACE*/ 【#include】 main() int x;double y,z;/*SPACE*/ scanf(【%d%lf】,&x,&y); z=2*x*sqrt(y);/*SPACE*/ printf(z=【%lf】,z); 程序改错 共1题 第1题 /*- 【程序改错】-功能:将s所指字符串中字母转换为按字母序列后续字母(但 Z转换为A,z转换为a),其他字符不变。-*/#include #incl

3、ude #include void fun (char *s)/函数定义 /*FOUND*/ while(*s!=0)/字符串结尾标志为0 if(*s=A & *s = a & *s=z) if(*s=Z) *s=A; else if(*s=z) *s=a; else /*FOUND*/ *s += 1;/s为字符指针,而*s为指针所指字符 /*FOUND*/ s+ main() char s80; printf(n Enter a string with length 80. :nn ); gets(s); printf(n The string :nn ); puts(s); fun (

4、s );/函数调用 printf (nn The Cords :nn ); puts(s);程序填空 共2题 第1题/*-【程序填空】-功能:计算圆周率近似值。-*/#include #include main() int s,n; /*SPACE*/ double 【pi】,t; t=1;pi=0;n=1;s=1; /*SPACE*/ while(【fabs(t)】=2e-6)/fabs()为求绝对值函数 pi+=t;n+=2;s=-s;t=s/n; /*SPACE*/ pi*=【4】; printf(pi=%.6fn,pi);第2题 /*-【程序填空】-功能:输入一奇数n,打印由1-n*n

5、构成魔方矩阵。魔方矩阵 行列及对角线和都相等。 魔方矩阵:8 1 6 3 5 7 4 9 2-*/#include #include #define MAXSiZE 20void main(void) int matrixMAXSiZEMAXSiZE; int count; int row; int column; int n; char line100; printf(nOdd n Magic Square Generator); printf(n=); printf(nnn Please - ); gets(line); n = atoi(line); if (n MAXSiZE) pri

6、ntf(n* ERROR * n should be = %d,MAXSiZE); else if (n % 2 = 0) printf(n* ERROR * n must be an odd integer); else row = 0; column = n/2; for (count = 1;count = n*n;count+) matrixrowcolumn = count; /*SPACE*/ if (【count/n】 = 0) row+; else /*SPACE*/ row= (row = 【0】) ?n - 1 :row - 1; /*SPACE*/ column = (c

7、olumn = 【n-1】) ?0 :column + 1; printf(nnMagic Square of n %d :nn,n); for (row = 0;row n;row+) for (column = 0;column n;column+) printf(%4d,matrixrowcolumn); printf(n); 程序改错 共1题/*- 【程序改错】-功能:求1到10阶乘和。-*/#include float fac(int n);/函数声明main() int i; float s=0; float fac(int n);/函数声明应放在主函数之前,这句放错位置了,删了吧

8、,也可以不改,可以运营,但良好习惯就是改 /*FOUND*/ for(i=1;i10;i+) /*FOUND*/ s+=fac(i);/函数调用 printf(%fn,s);float fac(int n)/函数定义/*FOUND*/ float y=1;/int改为float,否则会导致数据丢失,固然也可以不改,毕竟你们没学到 int i; for(i=1 ;i=n;i+) y=y*i; /*FOUND*/ return y;程序填空 共2题 第1题/*-【程序填空】-功能:删除字符串中指定字符,字符串和要删除字符均由键盘 输入。-*/#include main() char str80,c

9、h; int i,k=0; /*SPACE*/ gets(【str】);/输入字符串 放入str ch=getchar(); /*SPACE*/ for(i=0;【stri】;i+)/循环到字符串结束为止 if(stri!=ch) /如果没找到就将原字符赋值过去 找到要删除就跳过继续找 /*SPACE*/ 【strk=stri】;/在同一种数组中操作,背面字符覆盖了前面要删除位置 k+; /*SPACE*/ 【strk=0】;/在新字符串结尾处加结束符 puts(str);/输出 第2题/*-【程序填空】-功能:输入一种整数,计算它也许是哪两个整数平方和,并打印 成果数据。 如:34是5和3或

10、3和5平方和。-*/#include /* for i/O functions */#include /* for atoi() */#include /* for sqrt() */void main(void) int given; /* the given number */ int row,column; /* row and column indicators*/ int count; /* number of solutions */ char line100; printf(nRepresenting a Given Number as the Sum of Two Square

11、s); printf(n=n); printf(nAn integer Please - ); gets(line); given = atoi(line); printf(nCount X Y); printf(n- - -); row = 1; /* starts from far enough */ column = (int) (sqrt(double) given) + 0.5); count = 0; /* so solution yet */ while (row 0) /* scan down. */ if (row*row + column*column = given) /

12、*SPACE*/ 【count+】; printf(n%5d%7d%7d,count,row,column); row+; column-; else if (row*row + column*column given) /*SPACE*/ 【column-】; else /*SPACE*/ 【row+】; if (count = 0) printf(nnSorry,NO ANSWER found.); else printf(nnThere are %d possible answers.,count);程序改错 共1题 第1题 /*- 【程序改错】-功能:计算并输出k以内最大10个能被13

13、或17整除自然数之和。 k值由主函数传入。例如:若k值为500,则函数值为4622。-*/#include int fun(int k) int m=0,mc=0; /*FOUND*/ while (k=2)&(mc10) /*FOUND*/ if(k%13=0)|(k%17=0) m=m+k; mc+; /*FOUND*/ k-; /*FOUND*/ return m;void main() printf(%dn,fun(500);程序填空 共2题 第1题 /*-【程序填空】-功能:当输入“2,5”时候输出为“2 5 5”-*/#include #define max 100main() i

14、nt fmax,i,j,k,m; scanf(%d,%d,&k,&m); /*SPACE*/ for(i=0;i=【2】;i+) fi=0; /*SPACE*/ f【k-1】=1; for(i=k;i=m;i+) /*SPACE*/ for(j=i-k;j=i-1;j+) fi【=1+】fj; printf(%d%10d%10dn,k,m,fm);第2题 /*-【程序填空】-功能:辨认输入字符串,每个单词输出一行-*/#include #include void main() int c; int inspace; /*SPACE*/ 【inspace=0】; while(c = getcha

15、r() != n) if(c = | c = t | c = n) /*SPACE*/ if(【inspace=0】) inspace = 1; putchar(n); else inspace = 0; /*SPACE*/ 【putchar(c)】; 程序改错 共1题 第1题 /*- 【程序改错】-功能:用选取法对数组中n个元素按从小到大顺序进行排序。-*/#include #define N 20 void fun(int a,int n) int i,j,t,p; for (j = 0 ;j n-1 ;j+) /*FOUND*/ p = j; for (i = j;i ap) /*FOU

16、ND*/ p=i; t = ap ; ap = aj ; aj = t; main() int aN=9,6,8,3,-1,i,m = 5; printf(排序前数据:) ; for(i = 0;i m;i+) printf(%d ,ai); printf(n); fun(a,m); printf(排序后数据:) ; for(i = 0;i m;i+) printf(%d ,ai); printf(n);程序填空 共2题 第1题 /*-【程序填空】-功能:产生10个30,90区间上随机整数,然后对其用选取法 进行由小到大排序。-*/#include #includemain() /*SPACE

17、*/ int t; int i,j,k; int a10; for(i=0;i10;i+) ai=rand()%61+30; for(i=0;i9;i+) /*SPACE*/ k=i; for(j=i+1;jaj) k=j; if(k!=i) t=ak; ak=ai; ai=t; /*SPACE*/ for(i=0;i10;i+ ) printf(%5d,ai); printf(n);第2题 /*-【程序填空】-功能:输入一正整数n、打印1-n可以构成所有自然数集合 (包括空集)。-*/#include #include #define MAXSiZE 20#define LOOP 1void

18、 main(void) int setMAXSiZE; int n,i; int position; char line100; printf(nAll Possible Subsets Generation by Lexical Order); printf(n=); printf(nnNumber of Elements in the Set - ); gets(line); n = atoi(line); printf(n); position = 0; setposition = 1; while (LOOP) /*SPACE*/ printf(n%d,【?】); for (i = 1

19、;i = position;i+) printf(,%d,seti); printf(); if (setposition n) /*SPACE*/ set【?】 = setposition + 1; position+; else if (position != 0) set-position+; else /*SPACE*/ 【?】; 程序改错 第1题 /*- 【程序改错】-功能:求出如下分数序列前n项之和。和值通过函数值返回main 函数。 2/1+3/2+5/3+8/5+13/8+21/13 例如:若n = 5,则应输出:8.391667。-*/#include #include /*

20、FOUND*/fun ( int n ) int a,b,c,k;double s; s = 0.0;a = 2;b = 1; for ( k = 1;k = n;k+ ) /*FOUND*/ s = (double)a / b; c = a; a = a + b; b = c; /*FOUND*/ return c;main( ) int n = 5; printf( nThe value of function is:%lfn,fun ( n ) );程序填空 共2题 第1题 /*-【程序填空】-功能:输出成果为:* * * * * * * * * * * * * * * * * * *

21、* -*/#include main() /*SPACE*/ static char 【?】=*,*,*,*,*; int i,j,k; char space= ; for(i=0;i5;i+) printf(n); for(j=1;j=3*i;j+) /*SPACE*/ printf(%1c,【?】); /*SPACE*/ for(k=0;k5,4-6,7-8-*/#include #include void main(void) long left,right; long sum; long GiVEN; int count = 0; char line100; printf(nConse

22、cutive sum to a fixed given number); printf(n=n); printf(nYour number ( 0) please - ); gets(line); GiVEN = atol(line); for (sum = 0,right = 1;sum GiVEN;sum += right,right+) ; for (left = 1,right-;left GiVEN) sum -= left; /*SPACE*/ 【?】; else if (sum = GiVEN) printf(n%ld = sum from %ld to %ld, GiVEN,left,right); /*SPACE*/ 【?】;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服