C语言第一类题型.docx_第1页
C语言第一类题型.docx_第2页
C语言第一类题型.docx_第3页
C语言第一类题型.docx_第4页
C语言第一类题型.docx_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

C语言编程第一周1. 编写一程序P122.C实现以下功能从键盘读入4个数num1、num2、num3、num4,输出:(num1num2的余数)num3num4,不需考虑num2为0和计算结果溢出的情况。要求输出的结果中,整数部分宽度为8(不足8时以0补足)、小数部分宽度为7。编程可用素材:printf(请输入4个数:)、printf(n计算结果为:。请输入4个数:10030100.123456725计算结果为:00001026.2345670#include int main(void)int num1, num2, num4;double num3, xx;printf(请输入4个数:);scanf(%d%d%lf%d, &num1, &num2, &num3, &num4);xx = (num1 % num2) * num3 + num4;printf(n计算结果为:%016.7fn, xx);return 0;2. 编写一程序P134.C实现以下功能通过键盘输入一串(约定为10个字符),输出每个字符对应的ASCII码值(十进制)。编程可用素材:printf(n请输入10个字符:)、printf(n加密结果为:。请输入10个字符:VeryGood!加密结果为:86,101,114,121,32,71,111,111,100,33#include int main(void)char a1, a2, a3, a4, a5, a6, a7, a8, a9, a10;printf(n请输入10个字符: );scanf(%c%c%c%c%c%c%c%c%c%c, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10);printf(n加密结果为: %d, %d, %d, %d, %d, %d, %d, %d, %d, %dn, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);return 0;3. 编写一程序P721.C实现以下功能从键盘输入x,y,z的值,编写程序输出以下表达式的值:x+z%3*(int)(x+y)%2/4编程可用素材:printf(pleaseinputx,y,z:)、printf(nResult=。程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。pleaseinputx,y,z:2.5,4.7,7Result=2.500000#include int main(void)float x, y, m;int zz;printf(please input x,y,zz: );scanf(%f%f%f, &x, &y, &zz);m = x + zz % 3 * (int)(x + y) % 2 / 4;printf(nResult =%fn, m);return 0;4. 编写一程序P736.C实现以下功能从键盘上输入一个四位整数,计算各个位上的数字之和。编程可用素材:printf(Inputanumberwith4-digit:)、printf(nsum=n。Inputanumberwith4-digit:1234sum=10#include int main(void)int a1, a2, a3, a4, a5, sum;printf(Input a number with 4-digit: );scanf(%d, &a1);a2 = a1 % 10;a3 = a1 / 10 % 10;a4 = a1 / 100 % 10;a5 = a1 / 1000;sum = a2 + a3 + a4 + a5;printf(nsum=%dn, sum);return 0;第二周1. 编写一程序P132.C实现以下功能在屏幕上输出Icanprintfn,t&!。程序的运行效果应类似地如图1所示。Icanprintfn,t&!#include int main(void)printf(I can printf n,t & !n);return 0;2. 编写一程序P710.C实现以下功能输入一个小写英文字母,首先输出它及其ASCII码,然后输出其对应的大写字母及其ASCII码。编程可用素材:printf(Inputalowercaseletter:)、printf(n()。Inputalowercaseletter: yy(121) Y(89)#include int main(void)char xiao, da;printf(Input a lowercase letter: );scanf(%c, &xiao);da = xiao - 32;printf(n%c(%d)n%c(%d)n, xiao, xiao, da, da);return 0;3. 编写一程序P711.C实现以下功能用scanf输入圆半径r,圆柱高h,求圆周长C1(2r)、圆面积S(r2)、圆柱体积V(r2h)。(注意:本题中规定圆周率取值为3.14)编程可用素材:printf(Input:)、printf(nC1=S=V=。Input:r=1.3,h=5 C1=8.16 S=5.31 V=26.53include #include int main(void)double rr, cc, ss, vv;int hh;printf(Input: );scanf(r=%lf, h=%d, &rr, &hh);cc = 3.14f * 2 * rr;ss = 3.14f * rr * rr;vv = 3.14f * rr * rr * hh;printf(nC1 = %.2fn S = %.2fn V = %.2fn, cc, ss, vv);return 0;4. 编写一程序P733.C实现以下功能从键盘读入一个任意字符,输出该字符ASCII的十六进制值。编程可用素材:printf(Inputacharacter:)、printf(nAscii()=0xn。Inputacharacter:b Ascii(b)=0x62#include int main(void)char aa;printf(Input a character: );scanf(%c, &aa);printf(nAscii(%c) = 0x%xn, aa, aa);return 0;5. 编写一程序P723.C实现以下功能输入三角形的三边长a、b、c(边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出“dataerror”的信息提示。注:根据“海伦秦九韶”公式,areap(p-a)(p-b)(p-c),其中p(a+b+c)/2。编程可用素材:printf(pleaseinputtriangesides:)、printf(ndataerrorn)、printf(narea=n。pleaseinputtriangesides:3,4,5 area=6.00pleaseinputtriangesides:3,4,8 dataerrorinclude #include int main(void)double aa, bb, cc, pp, area;printf(please input triange sides: );scanf(%lf, %lf, %lf, &aa, &bb, &cc);if (aa+bb cc & bb+cc aa & aa+cc bb)pp = ( aa + bb + cc ) / 2;area = sqrt( pp * ( pp - aa ) * ( pp - bb ) * ( pp - cc );printf(narea=%.2fn, area);elseprintf(ndata errorn);return 0;6. 编写一程序P135.C实现以下功能通过键盘输入弧度x,输出x的正弦值(可用库函数sin)。编程可用素材:printf(请输入弧度x:)、printf(nSin()=n。请输入弧度x:1.552 Sin(1.55)=0.99982#include #include int main(void)double xx, aa;printf(请输入弧度 x: );scanf(%lf, &xx);aa = sin(xx);printf(nSin(%.2f) = %.5fn, xx, aa);return 0;7. 编写一程序P259.C实现以下功能先从键盘读入7个数据(依次为3整数、2字符、2实数),然后按示例格式倒序输出这7个数据。编程可用素材:printf(请输入7个数据(依次为3整数、2字符、2实数):)、printf(n这7个数据倒序为:)。请输入7个数据(依次为3整数、2字符、2实数):8119235xm6127.123763152.351192这7个数据倒序为:7-152.351196-6127.123765-m4-x3-352-1921-81#include int main(void)int a1, a2, a3;char a4, a5;double a6, a7;printf(请输入7个数据(依次为3整数、2字符、2实数): );scanf(%d %d %d %c %c %lf %lf, &a1, &a2, &a3, &a4, &a5, &a6, &a7);printf(n这7个数据倒序为: 7-%.5f 6-%.5f 5-%c 4-%c 3-%d 2-%d 1-%dn, a7, a6, a5, a4, a3, a2, a1);return 0;第三周1. 编写一程序P111.C实现以下功能x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Pleaseinputx:),然后计算并在屏幕上输出函数值。编程可用素材:printf(Pleaseinputx:)、printf(nF()=。-5x+27(x0)Pleaseinputx:3 F(3)=5#include int main (void)int xx;double fx;printf(Please input x: );scanf(%d, &xx);if (xx 0)fx = 2 * (double)xx - 1;printf(nF(%d) = %.0fn, xx, fx);return 0;2. 编写一程序P113.C实现以下功能已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3.63%期限二年,4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。编程可用素材:printf(Pleaseinputbenjin,cunqi:)、printf(nlixi=yuan。Pleaseinputbenjin,cunqi:10000,8lixi=4288.00yuan#include int main (void)int bj, cq;double money;printf(Please input benjin,cunqi: );scanf(%d,%d, &bj, &cq);money = bj;if (cq = 1)printf(nlixi = %.2f yuann, money * 0.0315);else if (cq = 2)printf(nlixi = %.2f yuann, money * 0.0363 * 2);elseif (cq = 3)printf(nlixi = %.2f yuann, money * 0.0402 * 3);elseif (cq = 5)printf(nlixi = %.2f yuann, money * 0.0469 * 5);elseif (cq = 8)printf(nlixi = %.2f yuann, money * 0.0536 * 8);return 0;3. 编写一程序P114.C实现以下功能编写一个简单计算器程序,输入格式为:data1opdata2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。编程可用素材:printf(Pleaseinputdata1opdata2:)、printf(nError!chushuwei0.n)。Pleaseinputdata1opdata2:3000+20003000+2000=5000#include int main(void)int data1, data2;char op;double aa;printf(Please input data1 op data2: );scanf(%d %c %d, &data1, &op, &data2);switch (op)case +:aa = (double) data1 + data2;printf(n%d+%d=%.0fn, data1, data2, aa);break;case -:aa = (double) data1 - data2;printf(n%d-%d=%.0fn, data1, data2, aa);break;case *:aa = (double) data1 * data2;printf(n%d*%d=%.0fn, data1, data2, aa);break;case /:if (data2 = 0)printf(nError! chu shu wei 0.n);elseaa = (double) data1 / data2;printf(n%d/%d=%.0fn, data1, data2, aa);break;case %:if (data2 = 0)printf(nError! chu shu wei 0.n);elseprintf(n%d%d=%dn, data1, data2, data1 % data2);break;default:printf(Invalid operator!n);return 0;4. 编写一程序P270.C实现以下功能从键盘读入3个实数,按由大到小的顺序输出这3个数。编程可用素材:printf(请输入3个数:)、printf(n这三个数由大到小为:%.2f%.2f%.2fn。请输入3个数:200.351056.172.132这三个数由大到小为:1056.10200.3572.13#include int main (void)float a1, a2, a3, temp;printf(请输入3个数:);scanf(%f %f %f, &a1, &a2, &a3);if (a1 a3 & a3 a2)temp = a2;a2 = a3;a3 = temp;if (a2 a1 & a1 a3)temp = a2;a2 = a1;a1 = temp;if (a2 a3 & a3 a1)temp = a1;a1 = a2;a2 = temp;temp = a2;a2 = a3;a3 = temp;if (a3 a1 & a1 a2)temp = a1;a1 = a3;a3 = temp;temp = a3;a3 = a2;a2 = temp;if (a3 a2 & a2 a1)temp = a1;a1 = a3;a3 = temp;printf(n这三个数由大到小为: %.2f %.2f %.2fn, a1, a2, a3);return 0;5. 编写一程序P713.C实现以下功能用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份3时需考虑多加一天。注:判断年份是否为闰年的方法为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。编程可用素材:printf(Pleaseinputyear-month-day:).、printf(nItisthe.thday.n.。Pleaseinputyear-month-day:2000-3-1Itisthe61thday.#include int main (void)int year, month, day, sum;printf(Please input year-month-day: );scanf(%d-%d-%d, &year, &month, &day);sum = 0;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:if ( year % 400 = 0 | ( year % 100 != 0 & year % 4 = 0 ) )sum = sum + 29;elsesum = sum + 28;case 1:sum = sum + 31;break;default :;sum += day;printf(nIt is the %dth day.n, sum);return 0;6. 编写一程序P737.C实现以下功能从键盘输入3个整数,输出绝对值最大的数。编程可用素材:printf(Input3numbers:)、printf(nThenumberwithmaximumabsolutevalueis.n。Input3numbers:1,-362,300Thenumberwithmaximumabsolutevalueis-362#include #include int main (void)int a1, a2, a3, b1, b2, b3, max;printf(Input 3 numbers: );scanf(%d, %d, %d, &a1, &a2, &a3);b1 = (int) fabs(a1);b2 = (int) fabs(a2);b3 = (int) fabs(a3);if (b1 = b2 & b1 = b3)max = a1;if (b2 = b1 & b2 = b2)max = a2;if (b3 = b1 & b3 = b2)max = a3;printf(nThe number with maximum absolute value is %d.n, max);return 0;7. 编写一程序P744.C实现以下功能(1)从键盘输入一个一百分制成绩,如果不在0100范围内,则要求重新输入数据,直到输入的数据在0100范围内。(2)将输入的数据转换成等级A,B,C,D,E。90分以上为A,8089分为B,7079分为C,6069分为D,60分以下为E。(3)要求使用switch、case、default语句,结果赋值给变量grade,并将变量grade的值输出到屏幕上。(4)变量数据类型的选择应适当,在保证满足设计要求精度的情况下,养成不浪费内存空间和计算时间的好习惯。编程可用素材:printf(pleaseinputthescore(0-100):)、printf(nscore=,grade=。pleaseinputthescore(0-100):103pleaseinputthescore(0-100):55.3score=55.3,grade=Einclude int main(void)float score;printf(please input the score(0-100): );scanf(%f, &score);while (score 100)printf(please input the score(0-100): );scanf(%f, &score);switch (int)(score / 10)case 10:case 9:printf(nscore=%.1f,grade=An, score);break;case 8:printf(nscore=%.1f,grade=Bn, score);break;case 7:printf(nscore=%.1f,grade=Cn, score);break;case 6:printf(nscore=%.1f,grade=Dn, score);break;default: ;if (score 60)printf(nscore=%.1f,grade=En, score);return 0;第四周1. 编写一程序P226.C实现以下功能从键盘读入两个整数iBegin和iEnd,要求输出iBegin且iEnd的所有整数。编程可用素材:printf(PleaseInputtwonumber:)、printf(nResult:)、printf(%d。PleaseInputtwonumber:5162Result:5152535455565758596061622. 编写一程序P231.C实现以下功能从键盘读入两个整数iBegin和iCount,要求输出iBegin的iCount个整数(后一数为前一数减7)。编程可用素材:printf(PleaseInputtwonumber:)、printf(nResult:)、printf(%d。PleaseInputtwonumber:9038Result:9038968898828758688618543. 编写一程序P125.C实现以下功能从键盘读入两个字符cBegin和cEnd,要求输出cBegin且cEnd的所有字符。编程可用素材:printf(PleaseInputtwochar:)、printf(nResult:)。PleaseInputtwochar:MAResult:MLKJIHGFEDCBA4. 编写一程序P269.C实现以下功能从键盘读入两个整数iBegin和iEnd,要求按示例输出iBegin且iEnd的所有整数及其相邻的数。编程可用素材:printf(PleaseInputtwonumber:)、printf(nResult:)。PleaseInputtwonumber:800795Result:800/801799/800798/799797/798796/797795/796#include int main (void)int iBegin, iEnd, i;printf(Please Input two number: );scanf (%d %d, &iBegin, &iEnd);printf(nResult: );for (i = iBegin; i = iEnd; i-)printf( %d/%d, i, i+1);printf(n);return 0;5. 编写一程序P127.C实现以下功能从键盘读入一个字符cBegin和一个数iCount,要求输出cBegin的iCount个字符。编程可用素材:printf(PleaseInputacharandanumber:)、printf(nResult:)。PleaseInputacharandanumber:M9Result:MLKJIHGFE#include int main (void)int iCount, i, x;char cBegin;printf(Please Input a char and a number: );scanf (%c %d, &cBegin, &iCount);printf(nResult: );for (i = cBegin, x = 1; x = iCount; x+, i-)printf(%c, i);printf(n);return 0;6. 编写一程序P140.C实现以下功能从键盘输入5个字符,输出ASCII值最大的一个字符及其ASCII值。编程可用素材:printf(请输入5个字符:)、printf(n最大的字符是-n。请输入5个字符:YmAkX 最大的字符是m-109#include int main (void)char a1, a2, a3, a4, a5, max;printf(请输入5个字符: );scanf (%c%c%c%c%c, &a1, &a2, &a3, &a4, &a5);max = a1;if ( a2 max)max = a2;if ( a3 max)max = a3;if ( a4 max)max = a4;if ( a5 max)max = a5;printf(n最大的字符是 %c-%dn, max, max);return 0;7. 编写一程序P714.C实现以下功能用scanf输入10个整数(采用int数据类型),计算所有正数的和、负数的和以及10个数的和。编程可用素材:printf(Input10integers:)、printf(nzhengshu=,fushu=,all=。Input10integers:4620-453556-23-4970zhengshu=200,fushu=-72,all=128#include int main (void)int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, fushu, zhengshu, all;printf(Input 10 integers: );scanf(%d %d %d %d %d %d %d %d %d %d, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10);fushu = 0;zhengshu = 0;if (a1 0)zhengshu += a1;else fushu += a1;if (a2 0)zhengshu += a2;else fushu += a2;if (a3 0)zhengshu += a3;else fushu += a3;if (a4 0)zhengshu += a4;else fushu += a4;if (a5 0)zhengshu += a5;else fushu += a5;if (a6 0)zhengshu += a6;else fushu += a6;if (a7 0)zhengshu += a7;else fushu += a7;if (a8 0)zhengshu += a8;else fushu += a8;if (a9 0)zhengshu += a9;else fushu += a9;if (a10 0)zhengshu += a10;else fushu += a10;all = fushu + zhengshu;printf(nzhengshu=%d,fushu=%d,all=%dn, fushu, zhengshu, all);return 0;8. 编写一程序P752.C实现以下功能键盘输入m,n(约定:m和n均1000且为正整数),输出介于m和n(含m和n)中能被3整除且至少有位数字是5的所有整数。编程可用素材:printf(Inputm,n:)、printf(nResult:)。Inputm,n:100,200Result:105135150153156159165195#includeint main (void)int m, n, max, i;printf(Input m, n: );scanf(%d,%d, &m, &n);printf(nResult: );if (m n)i = n;max = m;else i = m;max = n;for (; i = max; i+)if (i % 3 = 0 ) & (i % 10 = 5 | (i / 10) % 10 = 5 | (i / 100) % 10 = 5 )printf( %d, i);printf(n);return 0;9. 编写一程序P753.C实现以下功能计算X的Y次方,其中Y为整数(可以是负整数或0),X为实型。注意,程序中不能使用库函数pow或使用同名的变量、函数、单词。编程可用素材:printf(Inputx,y:)、printf(nResult:=。Inputx,y:3.7,5Result:3.7000005=693.439570#include #include int main (void)double xx, aa;int yy, i , j;printf(Input x, y: );scanf(%lf,%d, &xx, &yy);aa = 1;i = (int) fabs(yy);j = 1;for (; j = i; j+)aa = xx * aa;if (yy 0)aa = 1 / aa;printf(nResult: %f%d=%fn, xx, yy, aa);return 0;10. 编写一程序P215.C实现以下功能求S=1/1!+1/2!+1/3!+1/N!并输出结果(显示时小数部分占16位,计算时要求从第1项开始往后累加)。N为任意自然数(只考虑int型),从键盘读入。编程可用素材:printf(Pleaseinputn:)、printf(nS=1/1!+1/2!+.+1/!=。Pleaseinputn:18S=1/1!+1/2!+.+1/18!=1.7182818284590455#include int main (void)double ss, j;int n, i;printf(Please input n: );scanf(%d, &n);ss = 0;j = 1;for (i = 1; i = n; i+)j = j * i;ss = 1 / j + ss;printf(nS=1/1!+1/2!+.+1/%d!=%.16fn, n, ss);return 0;11. 编写一程序P716.C实现以下功能求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字(可取19之间的一个值)。例如2+22+222+2222+22222(此时共有5个数相加),其中a值和有几个数相加由键盘输入控制。注意s的值有可能超出int的范围,编程可用素材:printf(Pleaseinputa,n:)、printf(na+aa+.=。Pleaseinputa,n:2,3a+aa+.=246#include int main (void)double ss, j;int aa, nn, i;printf(Please input a,n: );scanf(%d,%d, &aa, &nn);j = 0;ss = 0;for (i = 1; i = nn; i+)j = j * 10 + aa;ss = ss + j;printf(na+aa+.=%.0fn, ss);return 0;第五周1. 编写一程序P211.C实现以下功能根据输入的n在屏幕上显示对应的以#组成的菱形图案。编程可用素材:printf(Pleaseinputn:)。Pleaseinputn:1# #include int main (void)int n , i, j;printf(Please input n: );scanf(%d, &n);for (i=1; i=2*n+1; i=i+)for (j=1; j=n+2 & i+j=-n & i-j=n)printf(#);else printf( );printf(n);return 0;2. 编写一程序P724.C实现以下功能从键盘输入19之间的一个数,根据输入的数,输出对应的下三角乘法口诀表。要求积的输出占3个宽度,且左对齐。编程可用素材:printf(inputanumber(19):)。inputanumber(19):31*1=12*

温馨提示

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

评论

0/150

提交评论