




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
42二、改错题1. 统计输入字符串中大小写字母的个数程序Cmody 041.c,其功能是统计输入字符串中大小写字母的个数, 如输入:abcdEFGHIJK 123 输出:4答案:#include #include main() char str1128;/*/ int i;len, sum=0; /*/ /* int i, len, sum=0;*/ gets(str1); len = strlen(str1); for(i=0; i= a | str1i = a & str1i = z)*/ sum+; printf(%dn,sum); getch();2. 逆序输出程序Cmody 042.c,其功能是将从键盘依次输入的M个整数逆序输出. 如,输入:12 4 656 83 25 35 76 29 输出:29 76 35 25 83 656 4 12答案:#include #include #define M 8main() int aM,i; printf(Please input 8 numbers:n); for(i=0; iM; i+) scanf(%d, /*/ ai /*/); /*&ai*/ printf(Inverse order is: n);/*/ for(i=M-1; i=0; i-)*/ printf(%d , ai); printf(n ); getch();3. 计算大于10的最小n个能被3整除的正整数之和.程序Cmody 012.c中函数fun(int n)的功能是:根据参数n,计算大于10的最小n个能被3整除的正整数之和.例如: fun(8)= 答案:#include #include #include #include #define M 50double fun(int n) double y = 0.0; int i,j; j=0; for(i=1;i+) /*/ if(i10)&(i%3=0)*/ /*/ y+=1/i; /*/ /* y+=1.0/i;*/ j+; if(j=n) break; return y;void main() clrscr(); printf(fun(8) = %8.3lfn, fun(8);4. 从键盘上输入两个整数,及一个运算符进行运算程序cmody031.C的功能是:从键盘上输入两个整数,及一个运算符(+、-、*、/或%),进行程序相应的运算后输出运算的结果。如输入:1+2将输出:1+2=3答案:#include #include void main() int m,n,result,flag=0; /*/ char ch,/*/ /* char ch;*/ clrscr(); printf(Input an expression: ); scanf(%d%c%d,&m,&ch,&n); /*/ switch ch /*/ /* switch (ch)*/ case +: result=m+n; break; case -: result=m-n; break; case *: result=m*n; break; case %: result=m%n; break; case /: result=m/n; break; default: printf(Error!n); flag=1; if (!flag) printf(%d %c %d = %dn,m,ch,n,result); getch();5. 输出201300之间的所有素数,统计总个数程序cmody032.C的功能是:输出201300之间的所有素数,统计总个数。答案:#include #include void main() int num; printf(n); num=fun(); printf(nThe total of prime is %d,num); getch();int fun() int m,i,k,n=0; for(m=201; m=300;m+=2) k=sqrt(m+1); for(i=2;ik)*/ printf(%-4d,m); n+; if(n%10=0) printf(n); return n;6. 统计输入字符串中大写类英文字母的个数程序cmody051.c,其功能是统计输入字符串中大写类英文字母的个数。如输入:abcDEFGH123,输出:5答案:#include #include main() /*/ char str1 /*/; /* char str1255*/ int i,len, sum=0; printf(Please input a string:n); scanf(%s, str1); len = strlen(str1); for(i=0; i= A & str1i = Z) /*/ sum-; /*/ /* sum+;*/ printf(%dn,sum); getch();7. 从键盘依次输入M个整数,输出其中所有的偶数程序cmody052.c,其功能是实现从键盘依次输入M个整数,输出其中所有的偶数。如输入:23 62 38 45 26 输出:62 38 26答案:#include #include /*/ #include M 5 /*/ /*#define M 5*/main() int aM,i; printf(Please input 5 numbers:n); for(i=0; iM; i+) scanf(%d, &ai); printf(Even numbers:n ); for(i=0; iM; i+)/*/ if( ai/2 =0) /*/ /* if( ai%2 =0)*/ printf(%d , ai); printf(n ); getch();8. 输出三角形程序cmody 021.c输出如下所示图形答案:#include void main()/*/ int i;j; /*/ /* int i,j;*/ for (i=1;i=5;i+) for (j=1;j=10-2*i;j+) printf( );/*/ for (j=1;j=5;j+) /*/ /* for (j=1;j=2*i-1;j+)*/ printf(* ); printf(n); 9. 百元买百鸡程序cmody 022.c的功能是求解百元买百鸡问题:设一只公鸡2元,一只母鸡1元,一只小鸡0.5元。问一百元买一百只鸡、公鸡、母鸡、小鸡数可分别为多少?有多少种分配方案?答案:#include #include /*/int fun();/*/ /* int fun()*/ int hen,cock,chicken,n=0; for(cock=0;cock=50;cock+=1) for(hen=0;henhen:%d,cock:%d,chicken:%dn,n,hen,cock,chicken); if(n=20) getch(); return n;void main() int num; num=fun(); printf(n There are %d solutions.n,num); getch();10、输入字符串08的数字字符变成比它大1的数字字符将9变为0程序cmody061.c功能输入字符串08的数字字符变成比它大1的数字字符将9变为0。如输入:a b 1 2 c d 5 6 E F 8 9 G H 4 a b 2 3 c d 6 7 E F 9 0 G H 5答案:#include #include main() char str1128, str2128; int i,len; gets(str1); len = strlen(str1);/*/ for(i=0; ilen; i+) /*/ /* for(i=0; i= 0 & str1i = 8) str2i = str1i + 1; else if(str1i = 9) str2i = 0; else str2i = str1i; /*/ str2i = n; /*/ /* str2i = 0;*/ puts(str2); getch();11、连接字符串程序cmody062.c功能将程序中两个字符串“ABC”、“xyz”连接在一起并输出ABCxyz答案:#include #include void main() char s112=ABC, s2=xyz; char * ps1=s1,*ps2;/*/ ps2 = NULL; /*/ /* ps2 = s2;*/*/ while(*ps1 = NULL) /*/ /* while(*ps1 != 0)*/ ps1+; while(*ps2) *(ps1+) = *(ps2+); printf(%sn,s1); getch();12、取出ASCII码值为偶数且下标为偶数的字符程序cmody011.c的功能是:从字符串数组str1中取出ASCII码值为偶数且下标为偶数的字符依次存放到字符串中。eg:若str1所指的字符串为:4AZ18C?Ge9a0z! 则t所指的字符串为:4ZBZ答案:#include #include #include #include void main() char str1100, t200; int i, j; /*/ i = 0; /*/ /* j = 0;*/clrscr(); strcpy(str1, 4AZ18c?Ge9a0z!); for (i = 0; istrlen(str1); i+) /*/ if (str1i %2= 0) & (i%2!=0) /*/ /* if (str1i %2= 0) & (i%2=0)*/ tj = str1i; j+; tj = 0; printf(n Original string: %sn, str1); printf(n Result string: %sn, t);13. 求三角形面积程序Cmody071.c,其功能是从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示错误如输入:6 9 11 输出:26.98答案:#include #include void main() float a3,s,area; int i; printf(Please input 3 numbers:n); for(i=0; ia2 | a1+a2a0 | a0+a2a1 ) /*/ /*if( (a0+a1)a2|(a1+a2)a0 | (a0+a2)a1 )*/ s = (a0+a1+a2)/2; area = sqrt(s*(s-a0)*(s-a1)*(s-a2); printf(area is %.2fn,area); else printf(error.n); getch();14. 百马百担问题程序Cmody072.c,其功能是求解百马百担问题. 有100匹马,驮100担货,大马驮3担,中马驮2担,小马驮1担,问大,中,小马数可分别为多少?有多少种解决方案?答案:#include #include /*/ void fun() /*/ /*int fun()*/ int large,middle,small,n=0; clrscr(); for( large=0;large=33;large+ ) for( middle=0;middlelarge:%d,middle:%d,small:%dn,n,large,middle,small); return n;void main() int num; num = fun(); printf(n There are %d solutions.n,num); getch();15. 求一堆零件的总数(100至200之间)程序cmody081.c,其功能是求一堆零件的总数(100至200之间)如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件,则多5个零件。答案:#include void main() int i; /*/ for( i=100; i200; i+ ); /*/ /* for( i=100; i200; i+ )*/ if(i-2)%4 = 0) if( !(i-3)%7) ) if( i%9 = 5 )printf(%dn,/*/ &i /*/); /* i*/ getch();16. 交换两个变量的值程序cmody082.c,其功能是交换两个变量的值。如输入:2 3输出:original: resuct:答案:#include /*/ void swap(int p1,int p2) /*/ /* void swap(int *p1,int *p2)*/ int temp; temp = *p1; /*/ p1 = p2; /*/ /* *p1 = *p2; */ *p2 = temp;void main() int a,b; printf(please input 2 numbers:n); scanf(%d%d,&a,&b); printf(nOriginal: a=%d b=%dn,a,b); swap(&a,&b); printf(nResult: a=%d b=%dn,a,b); getch();17. 计算1至100之间的奇数之和,偶数之和程序cmody091.c,其功能是计算1至100之间的奇数之和,偶数之和答案:#include void main() int b,i;/*/ int a=c=0; /*/ /* int a=0,c=0;*/*/ for( i=0,i=100,i+=2 ) /*/ /* for( i=0;i=100;i+=2 )*/ a+=i; b=i+1; c+=b; printf(total of even numbers: %dn,a); printf(total of odd numbers: %dn,c-101); getch();18. 求满足等式xyz+yzz=520的x、y、z值(其中xyz和yzz分别表示一个三位数)。程序cmody092.c的功能是求满足等式xyz+yzz=520的x、y、z值(其中xyz和yzz分别表示一个三位数)。答案:#include void main() int x,y,z,i,result=520; for( x=1;x10;x+ ) for( y=1;y10;y+ ) /*/ for( z=1;z10;z+ ) /*/ /* for( z=0;z10;z+ )*/ i=100*x+10*y+z+100*y+10*z+z; /*/ if (i=result) /*/ /* if (i=result)*/ printf(x=%d,y=%d,z=%dn,x,y,z); getch();三、填空题1. 计算 f(x)= 补充程序Ccon 011.c使其计算 f(x)= 答案:#include #include void main() int x; /*/ float f; /*/ printf(Input an integer: ); scanf(%d,&x); f = /*/ (fabs(x) - 2) / (x*x + 1) /*/ ; printf(F(x)=%fn,f);2. 计算圆周率补充程序Ccon 012.c,该程序用公式计算圆周率的近似值。答案:#include void main() double pi=0; long i, sign=1; for(i=1;i=10001;i+=2) pi+=1.0*sign/i; sign=/*/ -sign /*/; pi*=/*/ 4 /*/; printf(%fn,pi);3. 从10个数中找出最大值和最小值补充程序Ccon 013.c程序实现从10个数中找出最大值和最小值.答案:#include #include int max,min;void find_max_min(int *p,int n) int *q; max=min=*p; for(q=p; q/*/ p+n /*/; q+) if(/*/ max *q) min=*q;void main() int i,num10; printf(Input 10 numbers: ); for(i=0;i10;i+) scanf(%d,&numi); find_max_min(/*/ num /*/,10); printf(max=%d,num=%dn,max,min); 4. 计算满足一定条件的一位整数A和B的值补充程序Ccon 021.c,使其计算满足下式的一位整数A和B的值.答案:#include void main() int a,b,k; int plu = /*/ 403 /*/; for(a=1; a10; a+) for(b=1; b10; b+) k = (a*10+b) * /*/ (b*10+a) /*/ ; if(k=plu) printf(A = %d, B = %dn,a,b); 5. 输入若干个整数,统计其中大于0和小于0的个数,以0结束输入补充程序Ccon 022.c,使其实现输入若干个整数,统计其中大于0和小于0的个数,以0结束输入答案:#include void main() int n,a,b; /*/ a=0; b=0; /*/ scanf(%d,&n); while(/*/ n != 0 /*/) if(n0) a+; else /*/ if(n0) b+; /*/ scanf(%d,&n); printf(Positive integer: %d, negative integer: %dn,a,b);6. 歌德巴赫猜想补充程序Ccon 023.c,该程序可测试歌德巴赫猜想:从键盘上输入一个大于6的偶数,总能找到两个素数,使得这两素数之和正好等于该偶数.答案:#include #include int prime(int n) int k,flag=1; for(k=2; k=n/2+1; k+) if (n%k=0) flag=/*/ 0 /*/ ; break; return flag;void main() int num, a;/ clrscr(); do printf(Please input an even number:); scanf(%d, &num); while(num=6|num%2=1); for(a=2;a=num/2+1;a+) if(prime(a) & prime(/*/ num-a /*/) printf(n %d = %d + %d , num, a, num-a);7、牛顿迭代法求方程的根补充程序Ccon031.C,使其用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。答案:#include #include /*/ void main() /*/ float x,x0,f,f1; x=1.5; do x0=x; f=(2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1; /*/ while /*/(fabs(x-x0)=1e-6); printf(the root is: %.2fn,x);8、大写变小写,小写变大写补充程序Ccon032.C,该程序的功能是将输入的一行字符串的大写字母转变为相应的小写字母,小写字母则转变为相应的大写字母,其余字符不变。答案:#include void main() char s80; int i; printf(Please input a string: ); for(i=0;(si=getchar()!=n)&(i=a&si=A&si=Z /*/) si=si+32; printf(%c,si); 9、计算平均值补充程序Ccon033.C,其中main函数通过调用average函数计算数组元素的平均值。答案:#include float average(int *pa,int n) int k; /*/ float avg=0.0; /*/ for(k=0;kn;k+) avg = avg+/*/ *(pa+k) /*/; avg = avg/n; return avg;void main() int a5=20,30,45,64,23; float m; m=average(/*/ a /*/, 5); printf(Average=%fn,m);10、输入姓名,输出信息补充程序con041.c使其实现从链盘输入一个同学的姓名(如“Jack”),输出问题该同学的信息(如“Hello, Jack!”)。答案:/*/ #include /*/ main() /*/ char /*/ str11; printf(Please input a name:n); scanf(%s,str); printf(Hello,%s!n, str); getch(); 11、冒泡排序法补充程序con042.c程序中的in sort()函数用冒泡法对数组中m个元素从大到小排序。答案:#include #include void sort(int a, int m) int i, j, t,swap; for( i=0; i /*/ m-1 /*/ ; i+ ) swap = 0; for( j=0; j m-i-1; j+) if /*/ ( aj aj+1 ) /*/ swap = 1; t = aj; aj = /*/ aj+1 /*/; aj+1 = t; if(!swap) break; void main() int a = 23,55,8,32,18,2,9; int i,k = sizeof(a)/sizeof(int); sort(a,k); for(i=0;ik;i+) printf(%d ,ai); printf(n); getch();12、判断三角形是否为直角三角形补充程序con043.c程序中的fun()函数用勾股定理判断一个三角形是否为直角三角形,即输入三角形的三边a,b,c,能回1,不能回0。答案:#include #include int fun(/*/ float a,float b,float c /*/) float temp; int bTrue = 0; if(ab) temp = a; a = b; b = temp; if(ac) temp = a; a = c; c = temp; if( fabs(/*/ a*a /*/ - (b*b + c*c) 1.0e-15) bTrue = 1; return bTrue;main() float a,b,c; printf(Please input three numbers:n); scanf(%f%f%f,&a,&b,&c); if( fun(a,b,c) = 1) printf(Yesn); else printf(Non); getch();13、输入一个整数,输出该数的平方补充程序ccon051.c,使其实现从键盘输入一个整数,输出该数的平方。答案:#include main() int x; printf(Please input a number:n); scanf(%d,/*/ &x /*/); printf(%d*%d=%dn, x,x,/*/ x*x /*/); getch(); 14、选择排序法补充程序ccon052.c,使程序中的sort()函数用选择法对数组中的m个元素,从小到大排序。答案:#include #include void sort(int a, int m) int i, j, k, t; for( i = 0; i m-1; i+ ) k = i; for( j=i+1; j /*/ /*/; j+) if( aj ak ) /*/ /*/; if( k != i ) t = ak; ak= ai; ai = /*/ /*/; void main() int a = 72,25,58,32,2,15,7,64; int i,m = sizeof(a)/sizeof(int); sort(a,m); for(i=0;im;i+) printf(%d ,ai); printf(n); getch();15、用所给公式计算三角形面积补充程序ccon053.c,使程序中的fun()函数,能根据三角形三边长a,b,c,用公式,计算这个三角形的面积,(规定:若这三条边不能构成三角形,返回-1)。答案:#include #include /*/ float /*/ fun(float a,float b,float c) float s,area ; s = /*/ (a+b+c)/2 /*/; s = s*(s-a)*(s-b)*(s-c); if( s 0 ) area = -1; else area = sqrt(s); return area ; main() float a,b,c,area; printf(Please input three numbers:t); scanf(%f%f%f, &a,&b,&c ); area = fun(a,b,c); printf(Area is: %.2fn,area); getch();16. 输入一个4行4列的二维整型数组表44阶矩阵,并计算第1列元素之和.补充程序Ccon 061.c,使其从键盘输入一个4行4列的二维整型数组表44阶矩阵,并计算第1列元素之和.如输入:1 2 3 45 6 7 89 10 11 1213 14 15 16 输出:28答案:#include #include main() int i,/*/ j /*/; int a44,sum; sum=/*/ 0 /*/; printf(Please input 16 numbers:n); for(i=0; i4;i+) for(j=0;j4;j+) scanf(%d,&aij); for(i=0;i4;i+) /*/ sum += ai0; /*/ printf(%dn,sum); getch();17. 二分法查找元素补充程序Ccon 062.c,使程序中的fun( )函数用二分法在已按从小到大排好序的数组a中直找q,若找到第一个q返回对应的下标,没找到返回1.答案:#include int fun(int a,int n,/*/ int q /*/) int left,right,mid; left= 0 ; right = n-1; while(left = right) mid= /*/ (left+right)/2 /*/; if( q amid) left = mid+1; else return mid; return -1;main() int a=3,4,6,11,17,22,31,45; int k,n; n = sizeof(a)/sizeof(int); k = fun(a,n,31); printf(%dn,k); getch();18. 判断点是否在已知的圆内补充程序Ccon 063.c,使其中的fun( )函数判断输入的一个点x,y是否位于坐标在原点,半径为rr0的圆内.答案:#include #include int fun(/*/ float r /*/,float x,float y) int bIn; bIn = /*/ sqrt( x*x + y*y ) /*/ r ; return bIn;main() float r=-1,x,y; int bIn; while(r0):n); scanf(%f, &r); printf(Please input the dot(x,y):n); scanf(%f%f,&x,&y); bIn = fun(r,x,y); if(bIn = 1) printf(in the circle!n); else printf(out of the Circle!n); getch();19、求函数值补充程序ccon071.c,对函数f(x)=x2-2x+6,分别计算f(x+8)和f(sin x)的值。如x=2.0,则输出:f(x+8)=86.000f(sin x)=5.008答案:#include/*/ #include /*/double fun(double x) /*/ double f;f=x*x-2*x+6;return(f); /*/void main() double x,y1,y2; clrscr(); printf(Please input x:); scanf(%lf,&x); y1=fun(x+8); y2=fun(/*/ sin(x) /*/); printf(nf(x+8)=%.3lf,y1); printf(nf(sinx)=%.3lf,y2); getch();20. 计算已知公式的值补充程序ccon072.c,计算,其中m,n为整数且mn=0。答案:#includedouble fun(unsigned m,unsigned n) unsigned i; double p=1.0; for(i=1;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车展端午节活动策划方案
- 管工进场考试题及答案
- 歌剧赏析考试题及答案
- 高考试题及答案物理
- 技术转移成效见证承诺书(3篇)
- 员工绩效考核评估报告标准化模板
- 费县中考试题及答案
- 班主任老师演讲稿:感恩的心(8篇)
- 环保话题的讨论与思考议文周记7篇
- (正式版)DB15∕T 3404.4-2024 《全民所有自然资源资产清查技术指南 第4部分:草原资源》
- 仓库货物运送管理制度
- 《思想道德与法治》课件-第一节 人生观是对人生的总的看法
- 颈深间隙感染诊疗与管理
- 安徽科技馆笔试题目及答案
- 厂房分割租赁协议书
- 会计中级职称《财务管理》电子书
- 无人机教员聘用协议书
- 足球教练员的职业素养与道德规范
- 产地证培训讲义
- 《南京理工大学化工》课件
- 养殖场远程视频监控解决方案
评论
0/150
提交评论