2022年C语言程序设计课后习题答案.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -循环部分习题1. 编写程序,求 1+2+3+ +n 之和超过 2000 的第一个 n 值及其和;参考方法 1:#include<iostream.h> void main int n,sum=0; forn=1;sum<=2000;n+ sum+=n; 开头n=1, sum=0 cout<<” n=” <<n-1<<”,sum=” <<sum<<endl; n=n+1 F sum=sum+n 参考方法 2:#include<iostream.h> sum>2000 void main int n,sum=0; T forn=1;n+ sum+=n; 输出 n,sum if sum>2000 break; 终止 cout<<” n=” <<n<<”,sum=”<<sum<<endl; 2. 输入如干同学成果,统计其中 输入的数小于 0 时终止;90 分之上、 7089、6069、小于 60 分的人数,并输出;当#include<iostream.h> 开头void main int a,b,c,d,grade; T a=b=c=d=0 T d=d+1 a=b=c=d=0; 输入 grade cout<<” Please input scores:n” ; while1 grade<0 cin>>grade; ifgrade<0 break; F else ifgrade<60 d+; grade<60 else ifgrade<70 c+; F T else ifgrade<90 b+; c=c+1 else a+; grade<70 T b=b+1 F cout<<” above 90:” <<a<<endl; grade<90 cout<<” 7089:”<<b<<endl; F cout<<” 6069:”<<c<<endl; a=a+1 cout<<” 059:” <<d<<endl; 输出 a,b,c,d 终止细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -3. 输入一整数,输出各位数字之和;如输入6228,就输出 6+2+2+8=18;#include<iostream.h> 开头F void main int num,sum=0; sum=0 cout<<” Please input a integer:n” ;+ cin>>num; 输入 num whilenum.=0 num.=0 s+=num%10; num/=10; T sum=sum+num%10 cout<<” sum=” <<sum<<endl; 4. 输入一实数 x 和一整数 n,求 x+x2+x 3+ +x n 的值;num= num/10 #include<iostream.h> 输出 n,sum void main 终止 int n,i; double x,sum=0,mul=1; cout<<” Please input x and n:n”; cin>>x>>n; fori=1;i<=n;i+ 开头F mul*=x; sum+=mul; 输入 n,m i=1 cout<<” sum=” <<sum<<endl; i<=n 5. 输入两个整数 n 和 m,打印 n 行星号,每行 m个星号;T j=1 #include<iostream.h> i=i+1 j=j+1 j<=i-1 F void main int i,j,n,m; T cout<<” Pleaese input n and m:n”; 输出一个空格cin>>n>>m; fori=1;i<=n;i+ j=j+1 j=1 F forj=1;j<=i-1;j+ cout<<” ”; j<=m forj=1;j<=m;j+ cout<<”* ” ; T cout<<endl; 输出一个星号 输出回车终止细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -数组部分习题 cout<<endl; 1. 输入 10 个同学的成果,求其平均值,输 出最高成果,并统计低于平均值的人数; #include<iostream.h> void main int i,count=0; double score10,aver=0,max; cout<<” Please input 10 scores:n” ; fori=0;i<10;i+ 3. 编写程序统计某班英语、语文、数学三门 课程的成果,同学人数与成果由键盘输入,要求统计出每门课程全班的总成果和平均成 绩以及每个同学三门课程的总成果和平均成 绩;#include<iostream.h> cin>>scorei; void main aver+=scorei; aver/=10; max=score0; fori=0;i<10;i+ static double score405; int i,j,n; cout<<”Please input the number of students:n” ; cin>>n; ifscorei>max cout<<”Please input the scores max=scorei; of ”<<n<<” students:n” ; ifscorei<aver count+; fori=0;i<n;i+ forj=0;j<3;j+ cout<<” aver=” <<aver<<” tmax=”< cin>>scoreij; <max<<” tcount=”<<count<<endl; scorei3+=scoreij; scorei4=scorei3/3; forj=0;j<5;j+ 2. 按杨辉三角的规律打印输出前10 行;#include<iostream.h> #include<iomanip.h> void main int a1010,i,j; fori=0;i<10;i+ ai0=1; aii=1; fori=2;i<10;i+ forj=1;j<i;j+ aij=ai-1j-1+ai-1j; fori=0;i<n;i+ scorenj+=scoreij; scoren+1j=scorenj/n; cout<<”Count Result:n” ; cout<<”tt 英语 tt 语文 tt 数学 tt 总成果 tt 平均成果 n” ; fori=0;i<n+2;i+ forj=0;j<5;j+ cout<<” tt” <<scoreij; cout<<endl; cout<<"杨辉三角:n" fori=0;i<10;i+ forj=0;j<=i;j+ cout<<setw5<<aij; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -数组与指针部分 1. 编写程序,输入五个字符串,输出其中最 大者;要求使用二维字符数组及字符串处理 函数;int i; cout<<”Please input a string:n” ; cin.getlinestr,50; fori=0;stri.= 0 ;i+ ifstri>= 0 &&stri<= 9 #include<iostream.h> strcpystr+i,str+i+1; string #include<string.h> i-; void main char str520,max20; cout<<”The deleted int i; is :”<<str<<endl; cout<<” Please input 5 strings:n” ; fori=0;i<5;i+ cin.getlinestri,50; strcpymax,str0; fori=1;i<5;i+ 3. 编写程序,输入一行字符,统计其中有多少个单词,单词之间用一个或多个空格分隔;#include<iostream.h> void main ifstrcmpmax,stri<0 char s50; strcpymax,stri; cout<<” max_string int i,n=0; is:” <<max<<endl; cout<<"请输入字符串: " cin.getlines,50; 2. 编写程序将一个字符串中的数字字符都 删除;fori=0;si.=0;i+ ifsi=' '&&si+1.=' ' 方法一: n+; "<<n<<endl; #include<iostream.h> ifsi-1.=' ' n+; void main ifs0=' ' n-; char str50; cout<<"单词个数:int i,j; cout<<” Please input a string:n”; cin.getlinestr,50; fori=0,j=0;stri.= 0 ;i+ ifstri< 0 |stri> 9 strj=stri; j+; strj= 0 ; cout<<” The deleted string is:” <<str<<endl; 方法二#include<iostream.h> #include<string.h> void main char str50; 第 4 页,共 4 页 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - -