电子科大C语言69章编程题作业参考解答.docx
- 文档编号:25273162
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:39
- 大小:20.70KB
电子科大C语言69章编程题作业参考解答.docx
《电子科大C语言69章编程题作业参考解答.docx》由会员分享,可在线阅读,更多相关《电子科大C语言69章编程题作业参考解答.docx(39页珍藏版)》请在冰豆网上搜索。
电子科大C语言69章编程题作业参考解答
第6章循环
1.
/*largest.c
*
*SolutiontoProgrammingProject1(Chapter6)
*
*FromCPROGRAMMING:
AMODERNAPPROACH(SecondEdition)
*
*Copyright(c)2008W.W.Norton&Company
*Allrightsreserved.
*
*Thisprogrammaybefreelydistributedforclassuse,
*providedthatthiscopyrightnoticeisretained.
*/
#include
intmain(void)
{
floatx,max=0.0f;
for(;;){
printf("Enteranumber:
");
scanf("%f",&x);
if(x<=0.0f)
break;
if(x>max)
max=x;
}
printf("\n");/*blankline*/
printf("Thelargestnumberenteredwas%g\n",max);
return0;
}
2.[was#2]
#include
intmain(void)
{
intm,n,remainder;
printf("Entertwointegers:
");
scanf("%d%d",&m,&n);
while(n!
=0){
remainder=m%n;
m=n;
n=remainder;
}
printf("Greatestcommondivisor:
%d\n",m);
return0;
}
3.
/*reduce_fraction.c
*
*SolutiontoProgrammingProject3(Chapter6)
*
*FromCPROGRAMMING:
AMODERNAPPROACH(SecondEdition)
*
*Copyright(c)2008W.W.Norton&Company
*Allrightsreserved.
*
*Thisprogrammaybefreelydistributedforclassuse,
*providedthatthiscopyrightnoticeisretained.
*/
#include
intmain(void)
{
intnum,denom,m,n,remainder;
printf("Enterafraction:
");
scanf("%d/%d",&num,&denom);
/*ComputeGCD(seeProgrammingProject2)*/
m=num;n=denom;
while(n!
=0){
remainder=m%n;
m=n;
n=remainder;
}
/*DividebothnumeratoranddenominatorbyGCD*/
num/=m;
denom/=m;
printf("Inlowestterms:
%d/%d\n",num,denom);
return0;
}
4.[was#4]
#include
intmain(void)
{
floatcommission,value;
printf("Entervalueoftrade:
");
scanf("%f",&value);
while(value!
=0.0f){
if(value<2500.00f)
commission=30.00f+.017f*value;
elseif(value<6250.00f)
commission=56.00f+.0066f*value;
elseif(value<20000.00f)
commission=76.00f+.0034f*value;
elseif(value<50000.00f)
commission=100.00f+.0022f*value;
elseif(value<500000.00f)
commission=155.00f+.0011f*value;
else
commission=255.00f+.0009f*value;
if(commission<39.00f)
commission=39.00f;
printf("Commission:
$%.2f\n\n",commission);
printf("Entervalueoftrade:
");
scanf("%f",&value);
}
return0;
}
6.[was#6]
#include
intmain(void)
{
inti,n;
printf("Enterlimitonmaximumsquare:
");
scanf("%d",&n);
for(i=2;i*i<=n;i+=2)
printf("%d\n",i*i);
return0;
}
8.[was#8]
#include
intmain(void)
{
inti,n,start_day;
printf("Enternumberofdaysinmonth:
");
scanf("%d",&n);
printf("Enterstartingdayoftheweek(1=Sun,7=Sat):
");
scanf("%d",&start_day);
/*printanyleading"blankdates"*/
for(i=1;i printf(""); /*nowprintthecalendar*/ for(i=1;i<=n;i++){ printf("%3d",i); if((start_day+i-1)%7==0) printf("\n"); } return0; } 11. /*compute_e.c * *SolutiontoProgrammingProject11(Chapter6) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include intmain(void) { intn,i,fact=1; floate=1.0f; printf("Entervalueforn: "); scanf("%d",&n); for(i=1;i<=n;i++){ fact*=i; e+=1.0f/fact; } printf("Approximationofe: %g\n",e); return0; } 12. /*compute_e2.c * *SolutiontoProgrammingProject12(Chapter6) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include intmain(void) { floatepsilon,e=0.0f,term=1.0f; inti=1,fact=1; printf("Entervalueforepsilon: "); scanf("%f",&epsilon); while(term>=epsilon){ e+=term; fact*=i++; term=1.0f/fact; } printf("Approximationofe: %g\n",e); return0; } 第7章基本类型 2.[was#8] #include intmain(void) { inti,n; charch; printf("Thisprogramprintsatableofsquares.\n"); printf("Enternumberofentriesintable: "); scanf("%d",&n); ch=getchar(); /*disposeofnew-linecharacterfollowingnumberofentries*/ /*couldsimplybegetchar();*/ for(i=1;i<=n;i++){ printf("%10d%10d\n",i,i*i); if(i%24==0){ printf("PressEntertocontinue..."); ch=getchar();/*orsimplygetchar();*/ } } return0; } 7. /*fraction_math.c * *SolutiontoProgrammingProject7(Chapter7) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include intmain(void) { intnum1,denom1,num2,denom2,result_num,result_denom; charoperator; printf("Entertwofractionsseparatedbya+,-,*or/sign: "); scanf("%d/%d%c%d/%d",&num1,&denom1,&operator,&num2,&denom2); switch(operator){ case'+': result_num=num1*denom2+num2*denom1; result_denom=denom1*denom2; printf("Thesumis%d/%d\n",result_num,result_denom); break; case'-': result_num=num1*denom2-num2*denom1; result_denom=denom1*denom2; printf("Thedifferenceis%d/%d\n",result_num,result_denom); break; case'*': result_num=num1*num2; result_denom=denom1*denom2; printf("Theproductis%d/%d\n",result_num,result_denom); break; case'/': result_num=num1*denom2; result_denom=denom1*num2; printf("Thequotientis%d/%d\n",result_num,result_denom); break; default: printf("Unrecognizedoperator: %c\n",operator); } return0; } 10. /*vowels.c * *SolutiontoProgrammingProject10(Chapter7) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include #include intmain(void) { charch; intnum_vowels=0; printf("Enterasentence: "); while((ch=getchar())! ='\n') switch(toupper(ch)){ case'A': case'E': case'I': case'O': case'U': num_vowels++; } printf("Yoursentencecontains%dvowels.\n",num_vowels); return0; } 13. /*word_length.c * *SolutiontoProgrammingProject13(Chapter7) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include #include intmain(void) { charch; intnum_letters=0,num_words=0; boolin_word=false; floataverage=0.0; printf("Enterasentence: "); while((ch=getchar())! ='\n') if(ch! =''){/*foundaletter*/ num_letters++; if(! in_word){/*foundanewword*/ in_word=true; num_words++; } }elseif(in_word)/*finishedaword*/ in_word=false; if(num_words>0) average=(float)num_letters/num_words; printf("Averagewordlength: %.1f\n",average); return0; } 14. /*newton.c * *SolutiontoProgrammingProject14(Chapter7) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include #include #defineTOLERANCE0.00001 intmain(void) { doublex,y_old=1.0,y_new,error; printf("Enterapositivenumber: "); scanf("%lf",&x); do{ y_new=(y_old+(x/y_old))/2.0; error=fabs((y_new-y_old)/y_new); y_old=y_new; }while(error>=TOLERANCE); printf("Squareroot: %g\n",y_new); return0; } 15. /*factorial.c * *SolutiontoProgrammingProject15(Chapter7) * *FromCPROGRAMMING: AMODERNAPPROACH(SecondEdition) * *Copyright(c)2008W.W.Norton&Company *Allrightsreserved. * *Thisprogrammaybefreelydistributedforclassuse, *providedthatthiscopyrightnoticeisretained. */ #include intmain(void) { inti,n; shorts_fact=1; inti_fact=1; longl_fact=1; longlongll_fact=1;/*C99only*/ floatf_fact=1; doubled_fact=1; longdoubleld_fact=1; printf("Enterapositiveinteger: "); scanf("%d",&n); for(i=2;i<=n;i++){ s_fact*=i; i_fact*=i; l_fact*=i; ll_fact*=i;/*C99only*/ f_fact*=i; d_fact*=i; ld_fact*=i; } printf("Factorialof%d(short): %hd\n",n,s_fact); printf("Factorialof%d(int): %d\n",n,i_fact); printf("Factorialof%d(long): %ld\n",n,l_fact); printf("Factorialof%d(longlong): %lld\n",n,ll_fact);/*C99only*/ printf("Factorialof%d(float): %f\n",n,f_fact); printf("Factorialof%d(double): %f\n",n,d_fact); printf("Factorialof%d(longdouble): %Lf\n",n,ld_fact); return0; } /*Largestvalueofnforwhichprogramcorrectlyprintsfactorialofn: * *Typen *------ *short7 *int12 *long12 *longlong20 *float13 *double22 *longdouble25 * *Resultsmayvary,butvaluesshownaretypicalfor32-bitmachines. */ 第8章数组 1. /*repdigit.c * *SolutiontoProgrammingProject1(Chapter8) * *FromCPROGRAMMING: AMODERNAPPRO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子科 语言 69 编程 作业 参考 解答