欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言编程 (2).doc

    • 资源ID:70344331       资源大小:106KB        全文页数:19页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言编程 (2).doc

    二、编程题1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。编一程序,输入x的值,输出y的值。#include<stdio.h>void main() int x,y; printf("请输入x:"); scanf("%d",&x); if(x<0) y=-1; else if(x=0) y=0; else y=1; printf("y=%d",y);2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include<stdio.h>void main()int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",&a,&b,&c);if(a<b) temp=a;a=b;b=temp;if(a<c)temp=a;a=c;c=temp;if(b<c)temp=b;b=c;c=temp;printf("从大到小为:%d,%d,%dn",a,b,c);3.有三个整数a,b,c,由键盘输入,输出其中最大者。void main() int a,b,c,max; printf("输入三个数字:n"); scanf("%d%d%d",&a,&b,&c); if(a>b&&a>c) max=a; if(b>a&&b>c) max=b; if(c>a&&c>b) max=c; printf("最大值是: %dn",max);4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include<stdio.h> #define pi 3.1416 main() float r,l,s; printf("请输入半径:n"); scanf("%f",&r); l=2*pi*r; s=pi*r*r; printf("l=%7.2fns=%7.2fn",l,s); 5. 【有点难】 有分段函数:当x<-10时,y=|x|+5;当-10x10时,y=4x-8;当x>10时,y=sqrt(x)。编一程序,输入x的值,输出y的值。6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。)#include <stdio.h>int main() int year,leap; scanf("%d",&year); if (year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0; if (leap) printf("%d is ",year); else printf("%d is not ",year); printf("a leap year.n"); return 0;7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)#include<stdio.h>int main() float f,c; printf("输入华氏温度:n"); scanf("%f",&f); c=(f-32)/1.8; printf("对应的摄氏温度是:%5.2fn",c);8.有一函数:当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11。编一程序,输入x的值,输出y的值。9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。#include<stdio.h>void main()int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",&a,&b,&c);if(a>b) temp=a;a=b;b=temp;if(a>c)temp=a;a=c;c=temp;if(b>c)temp=b;b=c;c=temp;printf("从小到大为:%d,%d,%dn",a,b,c);10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。#include<stdio.h>#include<string.h>void main() char a; scanf("%c",&a);if(islower(a)a=a-32;printf("%cn",a); 11.编程求圆柱体积,圆柱表面积。要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include <stdlib.h>int main(int argc, char *argv) float r,h,l,s,sq,vq,vz; float pi=3.1415926; printf("请输入圆的半径r,圆柱高h:"); scanf("%f,%f",&r,&h); l=2*pi*r; s=pi*r*r; sq=4*pi*r*r; vq=4.0/3.0*pi*r*r; vz=pi*r*r*h; printf("圆周长为:l=%6.2fn",l); printf("圆面积为:s=%6.2fn",s); printf("圆球表面积为:sq=%6.2fn",sq); printf("圆球体积为:vq=%6.2fn",vq); printf("圆柱体积为:vz=%6.2fn",vz); system("PAUSE"); return 0;12.有分段函数:当x<-5时,y=x+10; 当-5x5时,y=x2;当x>5时,y=2x-10.编一程序,输入x的值,输出y的值。13.有三个整数a,b,c,由键盘输入,输出其中最小者。#include <stdio.h>int main() int a,b,c,temp,min; printf("请输入三个整数:"); scanf("%d,%d,%d",&a,&b,&c); temp=(a<b)? a:b; min=(temp<c)? temp:c; printf("三个数中最小数是%dn",min); return 0;14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#include <stdio.h>void main()char c;printf("input ch:");c=getchar();if( c>='A'&&c<='Z')c=c+32;printf("%c",c);else printf("%c",c);15.输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c),其中s=(a+b+c)/2#include<stdio.h>#include<math.h>void main() float a,b,c,s,area; printf("依次输入a,b,c:"); scanf("%f%f%f,",&a,&b,&c); s=(float)0.5*(a+b+c); area = (float)sqrt(s*(s-a)*(s-b)*(s-c); printf("面积为:%7.2f",area);16.编程求2!+4!+6!+8!+10!的值,并输出结果。#include<stdio.h>int main() int n=1,sum=0,j,m=1,i; for(i=1;i<=5;i+) m=1; for(j=1;j<=2*i;j+) m=m*j; sum=sum+m;printf("sum=%dn",sum);return 0;17.猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想吃时就剩一个桃子了。求第一天共摘了多少个桃子。#include<stdio.h>void main()int day; static x1=1; day=10; while(day>0) x1=(x1+1)*2; day-; printf("桃子总数=%dn",x1);18.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#include<stdio.h>int main()int i,j,k,n;printf("水仙花数是");for(n=100;n<1000;n+)i=n/100;j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k)printf("%d ",n);printf("n");return 0;19.编程求1100之间的所有素数,并输出结果。#include <stdio.h>int main(void) int a100,i,j; for (i = 0; i<100; i+) ai=i+1; for (i=1; i<100; i+) for (j=i+1; j<100; j+) if (ai&&aj%ai=0) aj=0; for (i = 1; i<100; i+) if (ai) printf("%dt",ai); return 0;20.编程求1!+3!+5!+7!+9!的值,并输出结果。#include<stdio.h>int main() int n=1,sum=0,j,m=1,i; for(i=1;i<=5;i+) m=1; for(j=1;j<=2*i-1;j+) m=m*j;sum=sum+m;printf("sum=%dn",sum);return 0;21.用pi/41-1/3+1/5-1/7+.公式求pi的近似值的绝,直到某一项对值小于10的-6次方为止。#include<stdio.h>#include<math.h>int main()int sign=1;double pi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6)pi=pi+term;n=n+2;sign=-sign;term=sign/n;pi=pi*4;printf("pi=%10.8fn",pi);return 0;22.一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米?#include "stdio.h" #include "stdio.h" main() float sn=100.0,hn=sn/2; int n; for(n=2;n<=10;n+) sn=sn+2*hn;/*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/ printf("the total of road is %fn",sn); getch(); 23.输入两个正整数m和n,求其最大公约数和最小公倍数。#include <stdio.h>int main() int p,r,n,m,temp; printf("请输入两个正整数n,m:"); scanf("%d%d,",&n,&m); if (n<m) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m; m=r; printf("它们的最大公约数为:%dn",n); printf("它们的最小公约数为:%dn",p/n); return 0; 24.利用循环,编程求1!+2!+3!+10!的值,并输出结果。main() int i,j,n,sum=0; for(i=1;i<=10;i+) n=1; for(j=1;j<=i;j+) n*=j; sum+=n; printf("%dn",sum); 25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.,求出这个数列前20项之和。#include<stdio.h>main() int i,x,y,a; float sum=0; x=2; y=1; for(i=1;i<20;i+) sum+=(float)(x)/y; / printf("%d/%dn",x,y); a=x; x=x+y; y=a; printf("%7.5fn",sum); 26.求Fibonacci数列前40个数。这个数列有以下特点:第1和第2个数为1,从第3个数开始,该数是其前面两个数之和。#include<stdio.h> #define N 4long fibonacci(int n) if (0=n|1=n) return 1; else return fibonacci(n-1)+fibonacci(n-2); int main(void) int i; printf("Fibonacci数列的前40项n"); for (i=0; i<40;) printf("%-10ld",fibonacci(i+); if(i%N=0) printf("n"); printf("n"); return 0; 27.一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求1000以内所有完数。#include<stdio.h>void main()int i,j;intsum;for(i=2;i<1000;i+)sum=0;for(j=1;j<i;j+)if(i%j=0)sum=sum+j; if(sum=i) printf("%d是完数n",sum);28.求S=a+aa+aaa+.+aa.a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。#include <stdio.h>int main() int a,n,i=1,sn=0,tn=0; printf("a,n=:"); scanf("%d,%d",&a,&n); while(i<=n) tn=tn+a; sn=sn+tn; a=a*10; +i; printf("a+aa+aaa+.=%dn",sn); return 0;29.编程求100200之间的所有素数,并输出结果。#include<stdio.h>#include<math.h>int main()int n,k,i,m=0;for(n=101;n<=200;n=n+2)k=sqrt(n);for(i=2;i<=k;i+)if(n%i=0)break;if(i>=k+1)printf("%d",n);m=m+1;if(m%10=0)printf("n");printf("n");return 0;30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include"stdio.h" main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!='n') if(c>=65&&c<=90|c>=97&&c<=122) i+; else if(c>=48&&c<=57) j+; else if(c=32) k+; else l+; printf("i=%d,j=%d,k=%d,l=%dn",i,j,k,l); 31.将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,4,3,2,0。要求改为0,2,3,4,6,8。#include<stdio.h>#define N 5int main()int aN,i,temp;printf("enter array a:n");for(i=0;i<N;i+)scanf("%d",&ai);printf("array a:n"); for(i=0;i<N;i+) printf("%4d",ai); for(i=0;i<N/2;i+) temp=ai; ai=aN-i-1; aN-i-1=temp; printf("nNOW,array a:n"); for(i=0;i<N;i+) printf("%4d",ai); printf("n"); return 0;32.编写一个函数,求数列1+1/2+1/3+1/4+1/5+.1/n,利用主函数调用这个函数并输出结果。#include <stdio.h> main()float i=1,sum=0,n;printf("input a number n:");scanf("%f",&n);while(i<=n)sum+=1.0/i;i=i+1;printf("%fn",sum);33.将一个二维数组int a34的行和列的元素互换,存到另外一个二维数组中。#include <stdio.h>int main()int a34=1,2,3,4,5,6,7,8,9,10,11,12;int b43,i,j;printf("arrary a:n");for(i=0;i<=2;i+)for(j=0;j<=3;j+)printf("%5d",aij);bji=aij;printf("n");printf("array b:n");for(i=0;i<=3;i+)for(j=0;j<=2;j+)printf("%5d",bij);printf("n");return 0;34.利用循环输出以下图形* * * * *#include <stdio.h>int main() int i,j,m; for(i=1;i<=5;i+) m=i; for(m=1;m<i;m+) printf(" "); for(j=0;j<=5-i;j+) printf("*"); printf("n"); return 0;35.用冒泡排序法对输入的10个数进行降序排序,并存入数组中。#include <stdio.h>int main() int a10; int i,j,t; printf("input 10 numbers:n"); for(i=0;i<10;i+) scanf("%d",&ai); printf("n"); for(j=0;j<9;j+) for(i=0;i<9-j;i+) if(ai<ai+1) t=ai;ai=ai+1;ai+1=t; printf("the sorted numbers:n"); for(i=0;i<10;i+) printf("%d",ai); printf("n"); return 0;36.有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。#include <stdio.h>int main() int i,j,row=0,colum=0,max; int a34=1,2,3,4,5,6,7,8,9,10,11,12; max=a00; for(i=0;i<=2;i+) for(j=0;j<=3;j+) if(aij>max) max=aij; row=i; colum=j; printf("max=%d,row=%d,colum=%dn",max,row,colum); return 0;37.用冒泡排序法对输入的10个数进行升序排序,并存入数组中。#include <stdio.h>int main() int a10; int i,j,t; printf("input 10 numbers:n"); for(i=0;i<10;i+) scanf("%d",&ai); printf("n"); for(j=0;j<9;j+) for(i=0;i<9-j;i+) if(ai>ai+1) t=ai;ai=ai+1;ai+1=t; printf("the sorted numbers:n"); for(i=0;i<10;i+) printf("%d",ai); printf("n"); return 0;38.利用循环,输出以下图形* * * * *#include <stdio.h>int main()char a5='*','*','*','*','*'int i,j,k;char space=' 'for (i=0;i<5;i+)printf("n");printf(" ");for(j=1;j<=i;j+)printf("%c",space);for (k=0;k<5;k+)printf("%c",ak);printf("n");return 0;39.输出以下杨辉三角形(要求输出10行)。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1.#include<stdio.h>#define N 10int main()int i,j,aNN;for(i=0;i<N;i+)aii=1;ai0=1;for(i=2;i<N;i+)for(j=1;j<=i-1;j+)aij=ai-1j-1+ai-1j;for(i=0;i<N;i+)for(j=0;j<=i;j+)printf("%6d",aij);printf("n");printf("n");return 0;40.利用循环输出以下图形 * * *#include <stdio.h>int main() int i,j,m; for (i=1;i<=4;i+) m=i; for (m=1;m<=4-i;m+) printf(" "); for (j=0;j<2*i-1;j+) printf("*"); printf("n"); return 0;41.利用循环,输出以下图形* * * *#include<stdio.h>int main() int n,i,j; scanf("%d",&n); for(i=0;i<n;i+) for(j=n-1-i;j>0;j-)printf(" "); for(j=0;j<2*i+1;j+)int k=j;if(k>25)k%=26;printf("%c",'*'+k); printf("n"); return 0;42.求一个3×3的整型矩阵对角线元素之和。#include<stdio.h>main()int a33,i,j,sum=0;printf("请输入数组元素:(3*3)n");for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);printf("n");printf("数组为:n");for(i=0;i<3;i+)for(j=0;j<3;j+)printf("%4d",aij); printf("n");printf("n");printf("对角线的和:n");for(i=0;i<3;i+)for(j=0;j<3;j+)if(i=j|2-i=j)sum+=aij;printf("%dn",sum);43.编写程序,将两个字符串连接起来,不要使用strcat函数。int main() char *a="qwet",*b="woei" char c20; int i,j; for( i=0,j=0;*(a+i);i+ ,j+) cj=*(a+i); for(i=0 ; *(b+i);i+,j+ ) cj=*(b+i); cj='0' for( i=0 ; ci ;i+ ) printf("%c ",ci);44.写一个函数,求两个整数中的较大者,用主函数调用这个函数,并输出结果,两个整数由键盘输入。#include<stdio.h>int maxNum(int a,int b) return(a>b?a:b);void main() int a,b,max; printf("Enter two numbers!n"); scanf("%d%d",&a,&b); max=maxNum(a,b); printf("Max:%dn",max);45.编写两个函数分别求两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结果,两个整数由键盘输入。#include<stdio.h>int hcf(int,int);int lcd(int,int,int);void main() int u,v,h,l; scanf("%d,%d",&u,&v); h=hcf(u,v); printf("H.C.F=%dn",h); l=lcd(u,v,h); printf("L.C.D=%d",l);int hcf(int u,int v) int t,r; if(v>u) t=u; u=v; v=t; while(r=u%v)!=0) u=v; v=r; return (v); int lcd(int u,int v, int h) return (u*v/h); 46. . 输出左边图案。 . . . . . .#include<stdio.h>int main()int i,j,k;for(i=0;i<=3;i+)for(j=0;j<=2-i;j+)printf(" ");for(k=0;k<=2*i;k+)printf("*");printf("n");for(i=0;i<=2;i+)for(j=0;j<=i;j+)printf(" ");for(k=0;k<=4-2*i;k+)printf("*");printf("n");return 0;

    注意事项

    本文(C语言编程 (2).doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开