您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 【C语言程序设计】上机作业2+答案
第二次上机作业1.编写一个C程序,输入一个整数n,根据n的值在屏幕上输出相应图案例如:输入n=3,则在屏幕上输出第1行:**第2行:****第3行:*****第4行:****第5行:**#includestdio.hvoidmain(){intn,i,j;/*n---theinputnumber;i---therowindex;j---thecolumnindex;*/intlineNum;/*thenumoflines*/printf(Pleaseinputthevalumeofn=);scanf(%d,&n);lineNum=2*n-1;/***********************************//*outputthefirstpartofthefigure.*//***********************************/for(i=1;i=n;i++){for(j=1;j=lineNum;j++)if((j=i)||(j=(lineNum-(i-1))))printf(*);elseprintf();printf(\n);}/***********************************//*outputthesecondpartofthefigure.*//***********************************/for(i=(n-1);i=1;i--){for(j=1;j=lineNum;j++)if((j=i)||(j=(lineNum-(i-1))))printf(*);elseprintf();printf(\n);}}第二次上机作业(续)2.编写一个C程序,能读入并计算一个只含有加减运算的表达式,每一个输入的数据都是整数,除第一个数外,其余每个数前面都有一个运算符。例如,23+43-233+234;表达式以分号“;”结束解一:#includestdio.hvoidmain(){intresult,data,operator,invalid;/*result---theresultofcomputation.data---thesecondnumberincomputation.operator---'+'--+1‘-’---1invalid---0--validinput.1--invalidinput.*/charc;/**********************************//*Initialization&Input*//**********************************/result=0;data=0;operator=0;invalid=0;printf(Pleaseinputtheequationwiththeendof';'.\n);c=getchar();while(c!=';'){if((c='0')&&(c='9')){if(operator==0)result=result*10+c-'0';elsedata=data*10+c-'0';}elseif((c=='+')||(c=='-')){if(operator!=0){result=result+operator*data;data=0;}operator=(c=='+')?1:-1;}else{invalid=1;break;}c=getchar();}result=result+operator*data;if(invalid)printf(InvalidInput!\n);elseprintf(result=%d\n,result);}解二:#includestdio.hvoidmain(){charc;intoperand,result;scanf(%d,&result);scanf(%c,&c);while(';'!=c){scanf(%d,&operand);if('+'==c)result+=operand;elseif('-'==c)result-=operand;scanf(%c,&c);}printf(resultis:%d\n,result);}第二次上机作业(续)3.编程一个C程序,输入一个整数i,并完成下列计算12,5sum100(1)1,510*,10iiiiiiii#includestdio.hvoidmain(){inti,j,invalid,sum;sum=0;invalid=0;printf(Pleaseinputthevalueofi=);scanf(%d,&i);if(i=0)invalid=1;elseif(i=5)for(j=1;j=i;j++)sum+=j;elseif(i=10){sum=100;for(j=1;ji;j++)sum-=j;}elsesum=i*i;if(invalid)printf(i0,InvalidInput!\n);elseprintf(sum=%d\n,sum);}第二次上机作业(续)4.编写一个C程序,输入一个数x,利用下式计算exp(x),直到某一累加项的绝对值小于1e-6为止23412!3!4!xxxxex#includestdio.h#includemath.h#defineThresh1e-6voidmain(){floatx,ex,tmp;inti;printf(Pleaseinputthevalueofx=);scanf(%f,&x);ex=1;i=1;tmp=x/i;while(fabs(tmp)=Thresh){ex=ex+tmp;tmp=tmp*x/(++i);}printf(Ouriterativeresultis:exp(%.2f)=%f\n,x,ex);printf(Thereferenceresultis:exp(%.2f)=%f\n,x,exp(x));}第二次上机作业(续)5.编写一个C程序,输入一个整数,计算其各位数字之和,例如,输入2568,则计算并显示2+5+6+8的值。#includestdio.h#defineIndex10voidmain(){intnum,sum=0;printf(Pleaseinputthevalueoftheintegernum=);scanf(%d,&num);do{sum+=num%Index;num=num/Index;}while(num!=0);printf(sum=%d\n\n,sum);}
本文标题:【C语言程序设计】上机作业2+答案
链接地址:https://www.777doc.com/doc-3489688 .html