C语言-程序设计部分习题及其例题参考程序.doc

上传人:一*** 文档编号:808874 上传时间:2019-07-16 格式:DOC 页数:25 大小:35.21KB
返回 下载 相关 举报
C语言-程序设计部分习题及其例题参考程序.doc_第1页
第1页 / 共25页
C语言-程序设计部分习题及其例题参考程序.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《C语言-程序设计部分习题及其例题参考程序.doc》由会员分享,可在线阅读,更多相关《C语言-程序设计部分习题及其例题参考程序.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C 语言程序设计部分例题及课后习题参考程序 1.编程计算如下分段函数: =2 + 3 104 0 int main() float x,y; printf(“input x:“);scanf(“%f“, if(x=10) y=2*x+3; else if(x=0) y=4*x; else y=5*x-6; printf(“y=%.2fn“,y); 2编程将从键盘输入的百分制成绩转换为等级分,转换方法如下: 90 以上(大于或等于 90,下同)为 A,80 分以上为 B,70 分以上为 C,60 分以上为 D,60 分以下,即低于 60 分为 E。 参考程序 #include int main(

2、) float score; char rank; printf(“input a score:“); scanf(“%f“, if(score100|score int main() float a,b,c; printf(“input a,b,c:“); scanf(“%f%f%f“, if(a0 elseprintf(“(%.2f,%2.2f,%.2f)不能围成三角形n“,a,b,c); 4.编程实现将从键盘输入的一个正整数逆序输出,如输入 1234,输出 3421 参考程序 #include int main() int n; printf(“input a number:“); sc

3、anf(“%d“, do printf(“%d“,n%10); n/=10; while(n!=0); return 0; 5.输入一个 110 范围内的整数,计算该数的阶乘。 参考程序 #include int main() int n,s=1,i; printf(“input a number(110):“); scanf(“%d“,for(i=2;i int main() char ch; int cnt=0; printf(“input a char line:“); ch=getchar(); while(ch!=n) cnt+; ch=getchar(); printf(“%dn“

4、,cnt);return 0; 7.打印乘法口诀表。 【参考程序】 #include int main() int i,j; for(i=1;i int main() int i,j,n;printf(“请输入打印图形的行数:“); scanf(“%d“, for(i=1;i int main() int i,n;printf(“请输入一个正整数:“); scanf(“%d“, for(i=2;i*i #define N 100 int main() int n,s=0,i; for(i=1;i #define N 1000 int main() int m,n,k,i; float scor

5、e; m=n=k=0; for(i=1;i100|score=80) m+; else if(score=60) n+; else k+; printf(“%d:%d:%dn“,m,n,k); return 0; 12.运用如下公式计算圆周率的近似值,当最后一项的绝对值小于 10-6时,停止计算。 4= 1 1 3+1 51 7+ +( 1) 11 2 1+ 【参考程序】 #include int main() double pi=0.0,t=1.0; int sgn=1; while(t int main() int w,m,c; for(m=0;m int main() int m,n,m

6、1,n1,r;printf(“请输入两个正整数:“); scanf(“%d%d“, m1=m; n1=n; r=m%n; while(r!=0) m=n; n=r; r=m%n; printf(“gcd(%d,%d)=%dn“,m1,n1,n); printf(“lcm(%d,%d)=%dn“,m1,n1,m1*n1/n); return 0; 14.编程计算如下式子的值,直到 n 等于 100。1 1 2+1 31 4+ +( 1) 11+ 【参考程序】 #include int main() double s=0.0,t=1.0; int sgn=1; while(t int main()

7、 int a,n,s=0,t; printf(“input a,n:“); scanf(“%d%d“, t=a; while(n0) s+=t; t=t*10+a; n-; printf(“%dn“,s);return 0; 16.计算如下式子的值。1 +3 2+5 4+7 6+ +101 100【参考程序】 #include int main() int n; float s=0.0; for(n=2;n int main() int n,s=0,i; n=2; for(i=1;i int main() int one,two,five,cnt=0; for(five=0;five=0) p

8、rintf(“%d:%d:%dn“,one,two,five); cnt+; printf(“一共有%d 种换法n“,cnt); return 0; 20.编程统计并输出 200 到 300 以内的全部素数。 【参考程序】 #include int main() int m,i,k=0; for(m=201;mm) k+; printf(“%8d“,m); if(k%5=0) printf(“n“); printf(“n200 到 300 之间一共有%d 个素数n“,k);return 0; 21.打印所有“水仙花数” ,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于 该数自身。如 1

9、53 【参考程序】 #include int main() int m,n,k; for(m=1;m int main() int m,n; for(m=0;m int main() int m,n; scanf(“%d“, printf(“%d=“,m); n=2; while(m!=1) while(m%n=0) printf(“%d“,n); if(m!=n) printf(“*“); m/=n; n+; printf(“n“); return 0; 24.输入一行字符,分别统计其中英文字母、空格、数字及其他字符的个数。 【参考程序】 #include int main() char c

10、h; int letter,space,digit,other; letter=space=digit=other=0; printf(“input a char line:“); ch=getchar(); while(ch!=n) if(ch=a for(m=2;m #define N 5 int main() int aN,i,cnt=0; float aver;printf(“请输入%d 个整数:“,N); aver=0.0; for(i=0;i=aver/N) cnt+; printf(“这%d 个整数的和是%.0f,平均值是%.2fn“,N,aver,aver/10); print

11、f(“不低于平均值的数有%d 个n“,cnt); return 0; 27.设有存放于数组中一组整数,现从键盘输入一个整数,在数组中查找该数,如果数组中 含有该数,则输出其全部出现位置,否则输出“*不存在” ,*代表该数值。 【参考程序】 #include #define N 10 int main() int aN=16,35,48,29,56,43,93,64,90,48; int n,sgn,i;printf(“请输入待查找的整数:“); scanf(“%d“, sgn=0; for(i=0;i #include #include #define N 10 int main() int

12、aN,i,k; srand(time(NULL); for(i=0;iak) k=i; printf(“n 最大值是%d,它是数组的第%d 个数n“,ak,k+1); return 0; 29.现有一未排序的整型数组,要求用选择法将该数组按由大到小的顺序排序。 【参考程序】 #include #define N 10 int main() int aN,i,k,j,t;printf(“请输入%d 个整数:“,N); for(i=0;iak) k=i; t=aj;aj=ak;ak=t; printf(“排序后的数组:n“); for(i=0;i #define N 10 int main() i

13、nt aN+1=98,96,87,78,72,64,56,51,43,36; int n,i;printf(“插入前的数组:n“); for(i=0;i=0;i-) if(ai #define N 10 int main() int aN=93,90,64,56,50,48,43,35,29,16; int n,sgn,top,bott,mid;printf(“请输入待查找的整数:“); scanf(“%d“, sgn=0; top=0; bott=N-1; while(topn) top=mid+1; else bott=mid-1; if(sgn=0)printf(“%d 不存在n“,n)

14、; elseprintf(“%d 在第%d 个数位置被发现.n“,n,mid+1); return 0; 32.按如下格式打印杨辉三角形,具体行数由键盘输入。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1【参考程序】 #include #define N 20 int main() int yangNN,n,i,j;printf(“请输入要打印的的行数:“); scanf(“%d“, for(i=0;i #define N 80 int main() char strN,ch,i,j=0;printf(“请输入一个字符串:“); gets(str);printf(

15、“请输入待删除的字符:“); ch=getchar(); for(i=0;stri!=0;i+) if(stri!=ch) strj+=stri; strj=0;printf(“删除指定字符后的字符串:%sn“,str); return 0; 34.现有若干字符串存放于一个二维数组中,每行存放一个字符串,现要求用冒泡法将这些 字符串按由小到大排序,即按字符母顺排序。 【参考程序】 #include #include #define N 80 #define M 6 int main() char strMN,tempN,i,j;printf(“请输入%d 个字符串:“,M); for(i=0;

16、i0) strcpy(temp,strj); strcpy(strj,strj+1); strcpy(strj+1,temp); printf(“排序后的字符串:n“); for(i=0;i #define N 80 int main() char strN,i,cnt;printf(“请输入一个英文句子,以回车结束:“); gets(str); if(str0= |str0=0) cnt=0; else cnt=1; for(i=0;stri!=0;i+) if(stri= printf(“该句子一共含有%d 个单词n“,cnt); return 0; 36.现有一实型一维数组,请编程分别找

17、出其中的最大值和最小值,并将最大值与数组的最 后一个元素交换,最小值与数组的第一个元素交换。 【参考程序】 #include #define N 10 int main() float aN,t; int ma,mi,i;printf(“请输入%d 个实数:“); for(i=0;iama) ma=i; if(ai #define N 5 int main() int aNN,i,j,s=0;printf(“请输入一个方阵:n“); for(i=0;i #define N 10 int main() int aN,i,t;printf(“请输入%d 个整数:“,N); for(i=0;i #d

18、efine N 100 int main() int aN,i,j; for(i=0;i #define N 81 int main() char strN,i;printf(“请输入一个英文句子:“); gets(str); for(i=0;stri!=0;i+) if(stri= ) stri=*;printf(“替换后的字符串:“); puts(str); return 0; 41.请写一个函数用于统计在一个一维数组中出现指定数值的次数,要求一维数组及指定数 值都是由主函数通过参数传递。 【参考程序】 #include #define N 10 int myseek(int a,int

19、len,int n) int i,cnt=0; for(i=0;i int isprime(int n) int i; for(i=2;i*i long fib(int n) if(n=1|n=2) return 1; return fib(n-1)+fib(n-2); int main() int i; for(i=1;i #define N 10 void bubble_sort(int arr,int n) int i,j,t; for(i=0;i #define N 10 void select_sort(int arr,int n) int i,j,t,k; for(i=0;i #d

20、efine N 81 void delete_char(char str,char ch) int i,j=0; for(i=0;stri!=0;i+) if(stri!=ch) strj+=stri; strj=0; int main() char sN,ch;printf(“请输入一个字符串:“); gets(s);printf(“请输入待删除字符:“); ch=getchar(); delete_char(s,ch);printf(“删除指定字符后的字符串:%sn“,s); return 0; 47. 输入 3 个数,判断能否构成三角形 【参考程序】#include int main()

21、 float a,b,c; scanf(“%f%f%f“, if(acelse printf(“边长为%f,%f,%f 的三条边不能构三角形.n“,a,b,c);return 0; 48. 从键盘输入若干整数(数量不定) ,求其中所有非负数的各,直到和大于 1000,程序 结束。 【参考程序】#include int main() int n,s; s=0; do printf(“请输入一个整数:“);scanf(“%d“, if(n0) s+=n; printf(“s=%dn“,s); while(s int main() int count, in,s=0; scanf(“%d“, pri

22、ntf(“%d 是一个“, in);count =0; if(in #define N 81 int rec_strlen(char str) if(str0=0) return 0; return rec_strlen( int non_rec_strlen(char str) int i; for(i=0;stri!=0;i+); return i; int main() char sN;printf(“请输入一个字符串:“); gets(s);printf(“递归函数:该字符串长度为%dn“,rec_strlen(s); printf(“非递归函数:该字符串长度为%dn“,non_rec_strlen(s); return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

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