C语言程序设计课后习题答案(2)

更新时间:2023-05-16 09:49:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

循环部分习题
1. 编写程序,求1+2+3+…+n之和超过2000的第一个n值及其和。
 参考方法1:
 #include<iostream.h>
 void main()
{ int n,sum=0;
  for(n=1;sum<=2000;n++)
   sum+=n;
  cout<<”n=”<<n-1<<”,sum=”<<sum<<endl;
}
 参考方法2:
 #include<iostream.h>
 void main()
{ int n,sum=0;
  for(n=1;;n++)
  { sum+=n;
  if (sum>2000)break;
  }
  cout<<”n=”<<n<<”,sum=”<<sum<<endl;
}

2. 输入若干学生成绩,统计其中90分之上、70~89、60~69、小于60分的人数,并输出。当输入的数小于0时结束。
  #include<iostream.h>
  void main()
  {inta,b,c,d,grade;
  a=b=c=d=0;
  cout<<”Please input scores:\n”;
  while(1)
  {cin>>grade;
  if(grade<0)break;
  else if(grade<60)d++;
  else if(grade<70)c++;
  else if(grade<90)b++;
  elsea++;
  }
  cout<<”above 90:”<<a<<endl;
  cout<<”70~89:”<<b<<endl;
  cout<<”60~69:”<<c<<endl;
  cout<<”0~59:”<<d<<endl;
  }
  
  
3. 输入一整数,输出各位数字之和。如输入6228,则输出6+2+2+8=18。
  #include<iostream.h>
  void main()
  {int num,sum=0;
  cout<<”Please input a integer:\n”;+
  cin>>num;
  while(num!=0)
  {s+=num%10;
  num/=10;
  }
  cout<<”sum=”<<sum<<endl;
  }
4. 输入一实数x和一整数n,求x+x2+x3+…+xn的值。
  #include<iostream.h>
  void main()
  {int n,i;
  double x,sum=0,mul=1;
  cout<<”Please input x and n:\n”;
  cin>>x>>n;
  for(i=1;i<=n;i++)
  {mul*=x;
  sum+=mul;
  }
  cout<<”sum=”<<sum<<endl;
  }
5. 输入两个整数n和m,打印n行星号,每行m个星号。
  
  #include<iostream.h>
  void main()
  {int i,j,n,m;
  cout<<”Pleaese input n and m:\n”;
  cin>>n>>m;
  for(i=1;i<=n;i++)
  {for(j=1;j<=i-1;j++)
  cout<<” ”;
  for(j=1;j<=m;j++)
  cout<<”*”;
  cout<<endl;
  }
  }




数组部分习题
1. 输入10个学生的成绩,求其平均值,输出最高成绩,并统计低于平均值的人数。
  #include<iostream.h>
  void main()
  {int i,count=0;
  double score[10],aver=0,max;
  cout<<”Please input 10 scores:\n”;
  for(i=0;i<10;i++)
  {cin>>score[i];
  aver+=score[i];
  }
  aver/=10;
  max=score[0];
  for(i=0;i<10;i++)
  {if(score[i]>max)max=score[i];
  if(score[i]<aver)count++;
  }
  cout<<”aver=”<<aver<<”\tmax=”<<max<<”\t
count=”<<count<<endl;
  }

2. 按杨辉三角的规律打印输出前10行。
  #include<iostream.h>
  #include<iomanip.h>
  void main()
{
int

a[10][10],i,j;
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
cout<<"杨辉三角 :\n";
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
cout<<setw(5)<<a[i][j];
cout<<endl;
}
  }

3. 编写程序统计某班英语、语文、数学三门课程的成绩,学生人数与成绩由键盘输入,要求统计出每门课程全班的总成绩和平均成绩以及每个学生三门课程的总成绩和平均成绩。
#include<iostream.h>
void main()
{static double score[40][5];
int i,j,n;
cout<<”Please input the number of students:\n”;
cin>>n;
cout<<”Please input the scores of ”<<n<<” students:\n”;
for(i=0;i<n;i++)
{for(j=0;j<3;j++)
  {cin>>score[i][j];
  
  score[i][3]+=score[i][j];
  }
  score[i][4]=score[i][3]/3;
}
for(j=0;j<5;j++)
{for(i=0;i<n;i++)
score[n][j]+=score[i][j];
score[n+1][j]=score[n][j]/n;
}
cout<<”Count Result:\n”;
cout<<”\t\t英语\t\t语文\t\t数学\t\t总成绩\t\t平均成绩\n”;
for(i=0;i<n+2;i++)
{for(j=0;j<5;j++)
cout<<”\t\t”<<score[i][j];
cout<<endl;
}
}


数组与指针部分
1. 编写程序,输入五个字符串,输出其中最大者。要求使用二维字符数组及字符串处理函数。
#include<iostream.h>
#include<string.h>
void main()
{char str[5][20],max[20];
int i;
cout<<”Please input 5 strings:\n”;
for(i=0;i<5;i++)
cin.getline(str[i],50);
strcpy(max,str[0]);
for(i=1;i<5;i++)
if(strcmp(max,str[i])<0)
strcpy(max,str[i]);
cout<<”max_string is:”<<max<<endl;
}
2. 编写程序将一个字符串中的数字字符都删除。
方法一:
  #include<iostream.h>
void main()
{char str[50];
int i,j;
cout<<”Please input a string:\n”;
cin.getline(str,50);
for(i=0,j=0;str[i]!=’\0’;i++)
if(str[i]<’0’||str[i]>’9’)
{str[j]=str[i];
j++;
}
str[j]=’\0’;
cout<<”The deleted string is:”<<str<<endl;
}

方法二
#include<iostream.h>
#include<string.h>
void main()
{char str[50];
int i;
cout<<”Please input a string:\n”;
cin.getline(str,50);
for(i=0;str[i]!=’\0’;i++)
if(str[i]>=’0’&&str[i]<=’9’)
{strcpy(str+i,str+i+1);
i--;
}
cout<<”The deleted string is :”<<str<<endl;
}
3. 编写程序,输入一行字符,统计其中有多少个单词,单词之间用一个或多个空格分隔。
  #include<iostream.h>
  void main()
  {
char s[50];
int i,n=0;
cout<<"请输入字符串:";
cin.getline(s,50);
for(i=0;s[i]!=0;i++)
if(s[
i]==' '&&s[i+1]!=' ')
n++;
if(s[i-1]!=' ')n++;
if(s[0]==' ')n--;
cout<<"单词个数: "<<n<<endl;
  }




本文来源:https://www.bwwdw.com/article/ixc4.html

Top