C语言编程习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

(1)设某企业2006年的产值为5000万,计划以后每年的增长率为x(x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有小数)。#includestdio.h#includemath.hintmain(void){doublex,y;intyear,n=0;printf(Pleaseinputx:);scanf(%lf,&x);do{n++;y=5000*pow((1+x/100),n);}while(y10000);year=2006+n;printf(year=%dnian,chanzhi=%.2f\n,year,y);return0;}(2)已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3.63%期限二年,4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利息(以元为单位,应考虑有小数,不计复利)。#includestdio.hintmain(void){intbenjin,cunqi;doublelixi;printf(Pleaseinputbenjin,cunqi:);scanf(%d,%d,&benjin,&cunqi);switch(cunqi){case1:lixi=benjin*3.15/100;printf(lixi=%.2fyuan\n,lixi);break;case2:lixi=benjin*3.63/100*2;printf(lixi=%.2fyuan\n,lixi);break;case3:lixi=benjin*4.02/100*3;printf(lixi=%.2fyuan\n,lixi);break;case5:lixi=benjin*4.69/100*5;printf(lixi=%.2fyuan\n,lixi);break;case8:lixi=benjin*5.36/100*8;printf(lixi=%.2fyuan\n,lixi);break;default:printf(cunqierror!\n);}return0;}(3)编写一个简单计算器程序,输入格式为:data1opdata2。其中data1和data2是参加运算的两个数(data1、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%。#includestdio.hintmain(void){intdata1,data2;charop;printf(Pleaseinputdata1opdata2:);scanf(%d%c%d,&data1,&op,&data2);switch(op){case'+':printf(%d+%d=%f\n,data1,data2,(double)data1+(double)data2);break;case'-':printf(%d-%d=%d\n,data1,data2,data1-data2);break;case'*':printf(%d*%d=%f\n,data1,data2,(double)data1*(double)data2);break;case'/':if(data2!=0){printf(%d/%d=%d\n,data1,data2,data1/data2);}else{printf(Error!chushuwei0.\n);}break;case'%':if(data2!=0){printf(%d%%%d=%d\n,data1,data2,data1%data2);}else{printf(Error!chushuwei0.\n);}break;default:printf(运算符错误!\n);}return0;}(4)编写一程序P2-211.C实现以下功能根据输入的n在屏幕上显示对应的以#组成的菱形图案。#includestdio.hintmain(void){intn;inti,j;printf(Pleaseinputn:);scanf(%d,&n);for(i=1;i=n+1;i++){for(j=i;j=n;j++){printf();}for(j=1;j=2*i-1;j++){printf(#);}printf(\n);}for(i=n;i=1;i--){for(j=i;j=n;j++){printf();}for(j=1;j=2*i-1;j++){printf(#);printf(\n);}return0;}(5)编写一程序P2-213.C实现以下功能根据输入的n在屏幕上显示对应的图案。编程可用素材:printf(Pleaseinputn:)...。程序的运行效果应类似地如图1和图2所示,图1中的3和图2中的5是从键盘输入的内容。#includestdio.hintmain(void){intnum;inti,j;printf(Pleaseinputn:);scanf(%d,&num);for(i=1;i=num;i++){for(j=1;j=(i-1);j++){printf();}printf(%c,'@');if(inum){for(j=1;j=2*(num-i)-1;j++){printf();}printf(%c,'@');}printf(\n);}for(i=num-1;i=1;i--){for(j=1;j=(i-1);j++){printf();}printf(%c,'@');for(j=1;j=2*(num-i)-1;j++){printf();}printf(%c,'@');printf(\n);}return0;}(6)根据输入的n在屏幕上显示对应的图案。编程可用素材:printf(Pleaseinputn:)...。程序的运行效果应类似地如图1和图2所示,图1中的3和图2中的5是从键盘输入的内容。#includestdio.hintmain(void){intnum;inti,j;printf(Pleaseinputn:);scanf(%d,&num);for(i=1;i=num;i++){printf(%c,'$');if(inum){for(j=1;j=num-1-i;j++){printf();}printf(%c,'$');}printf(\n);}for(i=num-1;i=1;i--){printf(%c,'$');for(j=1;j=num-1-i;j++){printf();}printf(%c,'$');printf(\n);}return0;}(7)求S=1/1!+1/2!+1/3!+…+1/N!并输出结果(显示时小数部分占16位,计算时要求从第1项开始往后累加)。N为任意自然数(只考虑int型),从键盘读入。编程可用素材:printf(Pleaseinputn:)...、printf(\nS=1/1!+1/2!+...+1/...!=...。#includestdio.hintmain(void){intnn,i;doublesum=0,fac=1;printf(Pleaseinputn:);scanf(%d,&nn);for(i=1;i=nn;i++){fac=fac*i;sum=sum+1/fac;}printf(S=1/1!+1/2!+...+1/%d!=%.16f,nn,sum);return0;}(8)求任意的一个m×m矩阵的最大数及其所在的行列数,m(2=m=20)及矩阵元素从键盘输入(只考虑int型)。编程可用素材:printf(Pleaseinputm:)...、printf(\nPleaseinputarray:\n)...、printf(\nmax=...,i=...,j=...\n...。程序的运行效果应类似地如图1所示,图1中的5和1456723546435689323428347934647957464678543619434634323556724846525是从键盘输入的内容。#includestdio.hintmain(void){intarr[20][20];inti,j,m,max,maxi,maxj;printf(Pleaseinputm:);scanf(%d,&m);printf(Pleaseinputarray:\n);for(i=0;im;i++){for(j=0;jm;j++){scanf(%d,&arr[i][j]);}}max=arr[0][0];maxi=0;maxj=0;for(i=0;im;i++){for(j=0;jm;j++){if(maxarr[i][j]){max=arr[i][j];maxi=i;maxj=j;}}}printf(max=%d,i=%d,j=%d\n,max,maxi,maxj);return0;}(9)求任意的一个m×m矩阵的对角线上元素之和,m(2=m=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf(Pleaseinputm:)...、printf(\nPleaseinputarray:\n)...、printf(\nsum=...\n...。程序的运行效果应类似地如图1所示,图1中的5和1456723546435689323428347934647957464678543619434634323556724846525是从键盘输入的内容。#includestdio.hintmain(void){intsum=0,arr[20][20];intm,i,j;printf(Pleaseinputm:);scanf(%d,&m);printf(Pleaseinputarray:\n);for(i=0;im;i++){for(j=0;jm;j++){scanf(%d,&arr[i][j]);}}for(i=0;im;i++){for(j=0;jm;j++){if((i==j)||((i+j)==(m-1))){sum=sum+arr[i][j];}}}printf(sum=%d\n,sum);return0;}(10)求任意的一个m×m矩阵的周边元素之和,m(2=m=20)及矩阵元素从键盘输入(只考虑int型,且不需考虑求和的结果可能超出int型能表示的范围)。编程可用素材:printf(\nPleaseinputm:)...、printf(\nPleaseinputarray:\n)...、printf(\nsum=...\n...。程序的运行效果应类似地如图1所示,图1中的5和1456723546435689323428347934647957464678543619434634323556724846525是从键盘输入的内容。#includestdio.hintmain(void){intsum=0,arr[20][20];intm,i,j;printf(Pleaseinputm:);scanf(%d,&m);printf(Pleaseinputarray:\n);for(i=0;im;i++){for(j=0;jm;j++){scanf(%d,&arr[i][j]);}}for(i=0;im;i++){for(j=0;jm;j++){if((i==0)||(j==0)||(i==(m-1))||(j==(m-1))){sum=sum+arr[i][j];}}}printf(sum=%d\n,sum);return0;}(11)编写一程序P2-219.C实现以下功能从键盘读入一行字符(约定:字符数≤127字节),将

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功