}
}
方法二:
#include
voidmain()
{inti,j;
for(i=1;i<=10;i++)
{for(j=1;j<=i;j++)cout<<"";
for(j=1;j<=11-i;j++)cout<<"*";
cout<}
}
5.3
#include
voidfunc();
voidmain()
{func();}
voidfunc()
{inti;
floata,sum=0;
for(i=1;i<=10;i++)
{cout<<"请输入第"<
";
cin>>a;
sum+=a;
}
cout<<"这十个数的和为:
"<cout<<"这十个数的平均值为:
"<return;
}
5.9
#include
intfunc(int,int);
voidmain()
{inti,j;
cout<<"请输入第一个整数:
";
cin>>i;
cout<<"请输入第二个整数:
";
cin>>j;
cout<<"这两个整数的最小公倍数为"<}
intfunc(intx,inty)
{inttemp,gb;
if(x{temp=x;
x=y;
y=temp;
}
for(intm=1;m<=y;m++)
{gb=x*m;
if(gb%y==0)break;
}
returngb;
}
5.16
#include
voidfunc(charst[],intn);
chars[100];
voidmain()
{chars[100];
cout<<"请输入一个字符串,按回车键结";
cin>>s;
func(s,0);
cout<}
voidfunc(charst[],intn)
{if(st[n])
func(st,n+1);
cout<return;
}
补充:
用多文件结构改写4.27的两题(在一个工程中有三个.cpp文件,其中两个.cpp文件分别放入实现此题的两个图形的函数,另一个.cpp文件实现调用两个图形函数。
)
完成过程:
首先建立一个工程,名字为kk;
建立第一个源程序kk.cpp,程序清单:
#include
voidfunc1();
voidfunc2();
voidmain()
{
inti;
cout<<"1.正直角三角形2.倒直角三角形"<";
cin>>i;
switch(i)
{case1:
func1();break;
case2:
func2();break;
default:
cout<<"输入的选择有误!
";
}
}
建立第二个源程序kk1.cpp,程序清单:
#include
voidfunc1()
{inti,j;
for(i=1;i<=10;i++)
{for(j=1;j<=i;j++)cout<<"*";
cout<}
}
建立第三个源程序kk2.cpp,程序清单:
#include
#include
voidfunc2()
{inti,j;
for(i=1;i<=10;i++)
{for(j=1;j<=i;j++)cout<<"";
for(j=1;j<=11-i;j++)cout<<"*";
cout<}
}
6.6
#include
voidmain()
{
ints[10],i,j;
for(i=0;i<10;i++)
s[i]=(i+1)*(i+1);
cout<<"请输入一个1--10的整数:
";
cin>>j;
cout<<"它的平方值为:
"<
}
6.8
#include
voidmain()
{floataa[30][6],kk;
inti,j,n;
cout<<"你准备为几个学生输入成绩:
";
cin>>n;
for(i=0;i{cout<<"请为第"<
kk=0;
for(j=0;j<5;j++)
{
cout<<"请输入第"<cin>>aa[i][j];
kk+=aa[i][j];
}
aa[i][5]=kk/5;
}
cout<<"请输入查询学生的号码";
cin>>n;
cout<<"成绩为\n";
for(i=0;i<6;i++)
cout<}
6.17
#include
voidmain()
{chars[100];
inti,x=0,y=0,z=0;
cout<<"请输入任意一行字符,按回车键结束:
";
cin>>s;
for(i=0;s[i];i++)
{if(s[i]>='a'&&s[i]<='z')x++;
if(s[i]>='A'&&s[i]<='Z')y++;
if(s[i]>='0'&&s[i]<='9')z++;
}
cout<<"此行字符中,小写字母的个数为"<cout<<"此行字符中,大写字母的个数为"<cout<<"此行字符中,数字字符的个数为"<}
补充:
在一个有10个整数元素的数组(34,91,83,56,29,93,56,12,88,72)中,
找出最小数和其下标,并在显示器上输出。
#include
voidmain()
{ints[10]={34,91,83,56,29,93,56,12,88,72};
intmin=s[0],p=0,i;
for(i=1;i<10;i++)
{if(min>s[i])
{
min=s[i];
p=i;
}
}
cout<<"最小数为:
"<}
7.6
#include
intfind(constchar*str,charch)
{inti=0;
while(*str)
{i++;
if(*str==ch)
returni;
str++;
}
return-1;
}
voidmain()
{
chars[100],x;
intn;
cout<<"请输入一个字符串,按回车键结束:
";
cin>>s;
cout<<"请输入你要查找的字符:
";
cin>>x;
n=find(s,x);
if(n==-1)
cout<<"字符串中无此字符!
"<else
cout<<"该字符在字符串的位置为:
"<}
7.13
#include
#include
char*ReplaceString(char*str,char*s1,char*s2)
{char*p,*q;
intn,i;
p=strstr(str,s1);
n=strlen(s1);
if(p)
{while(p)
{q=s2;
for(i=1;i<=n;i++)
*p++=*q++;
p=strstr(str,s1);
}
returnstr;
}
else
returnNULL;
}
voidmain()
{
charx1[100],x2[10],x3[10],*x;
cout<<"请输入一个字符串,按回车键结束:
";
cin>>x1;
cout<<"请输入要置换的字符串,按回车键结束:
";
cin>>x2;
cout<<"请输入用来进行置换的字符串,按回车键结束:
";
cin>>x3;
x=ReplaceString(x1,x2,x3);
if(x)
cout<<"置换后的字符串为:
"<else
cout<<"置换没有成功,原因为主串中没有要置换的字符串!
"<}
8.6
#include
#definex2
structstudent
{charnum[10];
charname[10];
floats1;
floats2;
floats3;
};
voidmain()
{studentss[x];
inti;
for(i=0;i{cout<<"请输入第"<
\n";
cout<<"请输入学号:
";
cin>>ss[i].num;
cout<<"请输入姓名:
";
cin>>ss[i].name;
cout<<"请输入第一门课程成绩:
";
cin>>ss[i].s1;
cout<<"请输入第二门课程成绩:
";
cin>>ss[i].s2;
cout<<"请输入第三门课程成绩:
";
cin>>ss[i].s3;
}
cout<<"学号\t"<<"姓名\t"<<"成绩1\t"<<"成绩2\t"<<"成绩3\t"<<"平均成绩\n";
for(i=0;icout<<<"\t"<}
8.9
#include
#include
#include
#definex10
structstudent
{charnum[10];
charname[10];
floatscore;
};
voidmain()
{studentss[x];
inti,flag;
charcx[10];
for(i=0;i{cout<<"请输入第"<
\n";
cout<<"请输入学号:
";
cin>>ss[i].num;
cout<<"请输入姓名:
";
cin>>ss[i].name;
cout<<"请输入成绩:
";
cin>>ss[i].score;
}
cout<<"请输入查询学生的姓名:
";
cin>>cx;
flag=0;
for(i=0;i{if(strcmp(ss[i].name,cx)==0)
{flag=1;
cout<<"所查学生的信息是:
\n";
cout<<"学号\t"<<"姓名\t"<<"成绩\n";
cout<exit(0);
}
}
cout<<"无此学生信息!
!
\n";
}
9.3
#include
structnumber
{
inta;
number*next;
};
number*head;
number*create()
{head=NULL;
number*pend,*ps;
ps=newnumber;
cin>>ps->a;
pend=ps;
while(ps->a!
=0)
{
if(head==NULL)
head=ps;
else
pend->next=ps;
pend=ps;
ps=newnumber;
cin>>ps->a;
}
pend->next=NULL;
deleteps;
return(head);
}
voidshow(number*head)
{
while(head)
{
cout<a<<"";
head=head->next;
}
cout<}
number*merage(number*p1,number*p2)//合并链表
{number*p;
if(p1==NULL){head=p2;return(head);}
if(p2==NULL){head=p1;return(head);}
if(p1->a>p2->a)
{head=p2;p=head;p2=p2->next;}
else
{head=p1;p=head;p1=p1->next;}