《c语言课后习题》word版

上传人:xt****7 文档编号:103433588 上传时间:2022-06-08 格式:DOCX 页数:11 大小:16.07KB
返回 下载 相关 举报
《c语言课后习题》word版_第1页
第1页 / 共11页
《c语言课后习题》word版_第2页
第2页 / 共11页
《c语言课后习题》word版_第3页
第3页 / 共11页
点击查看更多>>
资源描述
1. 从键盘输入一个浮点数,输出该数(只输出小数点后两位)#includeint main()float n;printf(please input a number: );scanf(%f,&n);printf(%.2fn,n);return 0;2.从键盘输入自己的学号,输出:xxxxxxxxxx:你好!#include#includeint main()char str15;printf(please enter your study number: );gets(str);printf(%s:你好!n,str);return 0;3从键盘输入一个小写字母,输出该字母的大写。#includevoid main()char ch;printf(please input a lowercase letter: );ch=getchar();ch=ch-32;printf(%cn,ch);4.从键盘输入一个四位正整数,输出该数的各个位数字之和。#includeint main()int n,ge,shi,bai,qian;printf(please input a 4-digit: );scanf(%d,&n);qian=n/1000; bai=n%1000/100;shi=n%100/10;ge=n%10;printf(sum=%dn,ge+bai+shi+qian);return 0;5 从键盘输入年月日,输出该日期是该年的第几天。输入:2000-1-1输出:2000-1-1是2000年的第1天输入:2000-12-31输出:2000-12-31是2000年的第366天#includeint main()int month,day,year,sum=0;printf(please input: year-month-dayn);scanf(%d-%d-%d,&year,&month,&day);switch(month-1)case 11:sum=sum+30;case 10:sum=sum+31;case 9:sum=sum+30;case 8:sum=sum+31;case 7:sum=sum+31;case 6:sum=sum+30;case 5:sum=sum+31;case 4:sum=sum+30;case 3:sum=sum+31;case 2:sum=sum+28;case 1:sum=sum+31;if(year % 400 =0) |( year % 100 !=0) & (year % 4 =0)if(month=3)sum=sum+day+1;elsesum=sum+day;elsesum=sum+day;printf(%d-%d-%d是%d的第%d天.n,year,month,day,year,sum);return 0;6回文是指正向读和反向读都一样的一段数字或者文字,如321123或“able was I ere I saw elba”。编写程序,输入一个6位正整数,判断它是否是回文,非回文逆序输出。如果输入数不符合要求,则显示一个错误信息:“xxxx不是一个六位数”。输出格式:“122221是回文数!”,“122223不是回文数. 它的逆序数是322221”。#includeint main()int m,n;printf(Please input a liuweishu:);scanf(%d,&m);if(m 999999)printf(%d is not a liuweishu.n,m);else n = m / 100000 % 10 + m / 10000 % 10 * 10 + m / 1000 % 10 * 100 + m / 100 % 10 * 1000 + m / 10 % 10 * 10000 + m % 10 * 100000;/经过拆数过后重新组合的新数与原来的数互为回文数if(m=n)printf(%d 是回文数.,m);else printf(%d 是回文数,它的逆序数为%d.,m,n);return 0;7 使用循环方式计算S=1立方+2立方+3立方+n立方 ,n值由键盘输入。#includeint main()int s,n,j,i;printf(please input n:);scanf(%d,&n);j=0;for (i=1;i=n;i+)s=i*i*i;j+=s;printf(%dn,j);return 0;8 从键盘输入行数n(1-40),输出如下图形(设n为5): * * * * #includeint main()int i,j,n;printf(please input n:);scanf(%d,&n);for(i=1;i=n;i+)for(j=1;j=n-i;j+)printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);return 0;9 输出九九乘法表:1x1= 11x2= 2 2x2= 41x3= 3 2x3= 6 3x3= 9#includeint main()int n,i,j;for(n=1;n=9;n+)i=1;for(;i=n;i+)j=n*i;printf(%d*%d=%2d,i,n,j);printf( );printf(n);return 0;10 随机生成两个不超过1000的随机数,统计这两个随机数之间有多少个素数(含这两个数),并输出。#include#include#includeint main()int a,b,c,d,e=0,f;srand (time(0);a=rand( )%1000;b=rand( )%1000;if(ab)c=b;b=a;a=c;printf(%d %dn,a,b);for( ;b=a;b+)for(f=b,d=2;df/2)printf(%4d ,f);e=e+1;printf(n素数个数为%dn,e);return 0;11 使用rand函数随机产生20个整数并输出,然后按降序排列后再输出#include#include#includeint main()int a,i;srand(time(0);for(i=0;i20;i+)a=rand();printf(%dt,a);return 0;12 使用gets函数(用户可以输入空格)从键盘输入两个字符串s1和s2,然后统计s1与s2的对应位上大于、等于和小于的次数并输出结果(判断次数以字符串短者为准),如:s1为“abcdefghi”s2为“daccfg”则输出大于数2,等于数1,小于数3#includeint main()int i=0,dengyu=0,dayu=0,xiaoyu=0;char a20,b20;printf(please input 2 strings:n);gets(a);gets(b);while(ai+)if(aibi)dayu+;else if(ai=bi)dengyu+;elsexiaoyu+;printf(dayu: %d nxiaoyu: %d ndengyu: %d n,dayu,xiaoyu,dengyu);return 0;13 .输出杨辉三角形(根据输入的n值,输出n行,n15)11 11 2 11 3 3 1#includeint main()int i,j,n,a100100;printf(请输入数字:);scanf(%d,&n);for(i=1;i=n;i+)ai1=aii=1;for(i=3;i=n;i+)for(j=2;ji;j+)aij=ai-1j+ai-1j-1;for(i=1;i=n;i+)for(j=1;j=i;j+)printf(%4d,aij);printf(n);return 0;14输出n行n列(n由键盘输入)的螺旋方阵,如n=5: 1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9#include int main(void)int i, j, k, n, begin, end;int a15*15, arr1515;printf(Enter n:(n=15)n);scanf(%d, &n); /输入n的值/* 将1n*n的值依次赋给数组a的各元素 */for (k=0; kn*n; k+)ak = k + 1;begin = 0;end = n-1;i = 0;k = 0;/* 从第一行开始顺时针依次将螺旋矩阵存放到二维数组arr中 */while (begin end)/* 给二维数组arr最上边一行的前n-1个元素赋值(从左到右逐个赋值) */for (j=begin; jend; j+) arrij = ak;k+;/* 给二维数组arr最右边一列的前n-1个元素赋值(从上到下逐个赋值) */for (i=begin; ibegin; j-)arrij = ak;k+;/* 给二维数组arr最左边一列的n-1个元素赋值(从下到上逐个赋值) */for (i=end; ibegin; i-)arrij = ak;k+;begin+; end-;i+;/* 如果矩阵的行、列数是奇数,则给最中间的元素赋值 */if (begin = end)arrbeginend = ak;/* 输出矩阵 */for (i=0; in; i+)for (j=0; jn; j+)printf(%5d, arrij);printf(n);return 0;15 编写两个函数:主函数输入、输出及调用函数,符号函数完成函数运算。 -1 x0#includeint main()void fx();printf(please enter a number:n);fx();return 0;void fx()int i,m=1,n=-1,k=0;scanf(%d,&i);if(i0)printf(fx=%dn,m);else if(i0)printf(fx=%d,n);elseprintf(fx=%d,k);16 编写两个函数:主函数数组输入、数组输出及调用函数,功能函数对该数组元素按降序排序#includeint main()void fun(int array,int n);int a10,i;printf(请输入10个数组元素:n);for(i=0;i10;i+)scanf(%d,&ai);fun(a,10);printf(数组元素按降序排列为:n);for(i=0;i10;i+)printf(%3d,ai);return 0;void fun(int array,int n)int i,j,k;for(j=0;jn-1;j+)for(i=0;in-j-1;i+)if(arrayiarrayi+1)k=arrayi;arrayi=arrayi+1;arrayi+1=k;printf(n);17 使用带参数的main函数完成两整型数求和差积商。如:设程序名称为te.exe输入:te 1 + 2输出:3输入:te 1 / 2输出:0.50(保留两位小数)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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