C语言补充材料3.doc_第1页
C语言补充材料3.doc_第2页
C语言补充材料3.doc_第3页
全文预览已结束

下载本文档

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

文档简介

08物理C语言补充材料3几种重要的算法与编程1. 通过键盘输入一串字符,统计数字、大写字母、小写字母、空格及其他字符出现的次数,当输入回车键时结束。#include void main( )char c; int n1,n2,n3,n4; n1=n2=n3=n4=0;while(c=getchar( )!=n)if(c=0&c=A&c=a&c=z) n3+;else if(c= = ) n4+;else n5+;printf(“ num=%d, up-case=%d, lo-case=%d, space=%d, others=%dn”, n1,n2,n3,n4,n5);2. 编写一个加法器程序,即从键盘输入N个数,求它们的和与平均值。#include void main ( )int count, n, x; float total=0, average;printf(“enter n:”);scanf(“%d”, &n);printf(“n=%dn”,n);for(count=1;count=n;count+)printf(“enter x%d:” count);scanf(“%d”,&x);total=total+x;average=total/n;printf(“total=%6.1f,average=%6.1fn”,total,average);3.计算1!2!3! n!#include void main( )int x, n, t, s;printf(“ inter n:”);sacnf(“%d”,&n);t=1; s=0;for(x=1; x=n; x+) t=t*x; s=s+t;printf(“%dn”, s);4.求两个数的最大公约数和最小公倍数解题方法:最大公约数用大整数除小数,得到余数再用小整数除余数1,得到余数2;再用余数1整除余数2,直到余数为0最小公倍数两数相乘再除以最大公约数。main( ) int a,b,c,n1,n2; printf(“input two number:”); scanf(“%d,%d”,&n1,&n2);if(n1n2)c=n1;n1=n2;n2=c;a=n1; b=n2;while(b!=0)c=a%b; a=b; b=c;printf(“最大公约数为 %dn”,a);printf(“最小公倍数为%dn”,n1*n2/a);5. 将一个数按逆序输出。#include void main( )unsigned int number; printf(“input the number:”);scanf(“%d”. &number);do printf(“%d”, number%10); number/=10; while(number!=0);printf(“n”);6. 给出一个099999的正整数,求:(1)它是几位数;(2)分别输出每一位数字;(3)按逆序输出原数字。#include void main ( )long num;int n1, n2, n3, n4,n5;n5=num/10000;n4=num/1000%10;n3=num/100%10;n2=num/10%10;n1=num%10;if(n5!=0)printf(“place=5n”); printf(“%d,%d,%d,%d,%dn”,n5,n4,n3,n2,n1);printf(“%d,%d,%d,%d,%dn”,n1,n2,n3,n4,n5);else if (n4!=0)printf(“place=4n”); printf(“%d,%d,%d,%dn”,n4,n3,n2,n1);printf(“%d,%d,%d,%dn”,n1,n2,n3,n4,);else if(n3!=0)printf(“place=3n”); printf(“%d,%d,%dn”,n3,n2,n1);printf(“%d,%d,%dn”,n1,n2,n3);else if(n2!=0)printf(“place=2n”); printf(“%d,%dn”,n2,n1);printf(“%d,%dn”,n1,n2);else printf(“place=1n”); printf(“%dn”,n1); printf(“%dn”,n1); printf(“%d”,x7);7. 由键盘输入10个数,编写程序使其按由小到大排序输出。解法一:(选择法)#include void main( )int a, b, c, t, x10;for(a=0; a10; a+) scanf(“%d”, &xa);for(a=0; a10; a+) printf(“%4d”, xa);printf(“n”);for(a=0;a9; a+) c=a; for(b=c+1; b10; b+) if(xbxc) c=b; t=xa; xa=xc; xc=t; for( a=0;a10;a+) printf(“%4d”, xa);printf(“n”);解法二:(起泡法)#include void main( )int a, b, c, t, x10; for(a=0; a10; a+) scanf(“%d”, &xa); for(a=0; a10; a+) prinf(“%4d”, xa); printf(“n”); for(b=0; b9; b+) for(a=b+1; a=9; a+) if(xaxb) t=xa; xa=xb; xb=t; for( a=0;a10;a+) printf(“%4d”, xa);printf(“n”);8. 已知一维数组中存放互不相同的10个整数,从键盘输入一个整数,指出与该值相同的元素的下标。main( ) int a, t, x10=3, 5, 7, 9, 1, 2, 4, 6, 8 ,0; for(a=0; a10; a+) printf(“ %4d”, xa);printf(“n intput t:n”);scanf(“%d”, &t);for(a=0; a10; a+) if(t= =xa) break;printf(“ x%dn”, a);运行时显示: input输入:6结果:x79. 计算N个学生的平均成绩, 成绩如下:float average(float array , int v) int i; float a, sum=array0;for(i=1; iv; i+)sum=sum+arrayi;a=sum/v;return(a);void main( ) float score10, aver;int i, n; printf(“input number:n”);scanf(“&d”, &n);printf(“input %d scores:n”, n);for(i=0; in;i+)scanf(“%f”, &scorei);printf(“n”);aver=average(score, n);printf(“average score is %5.2fn”, aver);10求N个数(N20)的平均值(指针的应用),程序如下:float average( float *array, int n)int i,*p; float aver, sum=0; for(p=array; parray+n; p+)sum+=*p;aver=sum/n;return(aver);void main()float score20, ave; int a, m; printf(“input number

温馨提示

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

评论

0/150

提交评论