C语言程序设计课后习题答案(2)[1](2)
时间:2025-07-09
时间:2025-07-09
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;
}
上一篇:调幅信号的解调
下一篇:如何听收音机学语言?