主题:C++高手帮忙.......
zhenzhenle
[专家分:0] 发布于 2008-05-25 10:01:00
课题一:程序控制语句
一、 课题名称:编辑输出如下图形
A
AAA
AAAAA
AAA
A
二、 课题目的:熟练运用if、 switch 、while、 do~while 及for等控制语句进行程序的开发,学会多个控制语句的组合嵌套使用。
三、 课本要求:能输入任意字符构成任意大小的菱形图案
课题二:函数与数组
一、 课题名称:通过函数调用的方式,实现对输入的任意的十进制数转换成二进制、十六进制、八进制输出。
1:八进制
2:二进制
3:十六进制
二、 课题目的:通过本课题程序,使同学们能理解函数在程序开发中的重要作用,并熟练运用函数去进行程序模块化设计;重要理解形参、实参的相互传递原理
三、 课题要求:程序算法精练,模块化、层次化强。
e-mail zhenzhenle@qq.com
回复列表 (共3个回复)
沙发
p1s [专家分:4100] 发布于 2008-05-25 10:26:00
这还需要高手帮忙?LZ你做到哪一步了?如果什么都没做的话,赶快回去自己努力吧。
板凳
zhenzhenle [专家分:0] 发布于 2008-05-25 10:34:00
一点都没做`~不是我不想做
是不会做`~
老师节节课讲课都讲错(是节节课``没试过一节不错) ``你说`~我能听明白吗`~全班就1-2个能听明白`~
现在他说这是作业`~
还要不相同的`~
3 楼
bluexo [专家分:40] 发布于 2008-05-27 21:28:00
//第一题
#include <iostream.h>
void main()
{
//a用来整体循环,b用来循环输出"A",c用来循环输出空格
int a,b,c;
//先完成"A"的个数递增空格个数递减的循环
for(a=1;a<=3;a++)
{
for(b=0;b<2*a-1;b++)
cout<<"A";
for(c=0;c<=5-b;c++)
cout<<" ";
cout<<"\n";
}
//然后是"A"的个数递减空格个数递增的循环
for(a=1;a<=2;a++)
{
for(b=0;b<5-2*a;b++)
cout<<"A";
for(c=0;c<2*a;c++)
cout<<" ";
cout<<"\n";
}
}
/////////////////////////////////////////////////////////////////////////////
//第二题
//主要在于转化的问题,一个十进制数x转化为N进制方法为用x对N求余,
//将余数一一存入数组,然后反向输出。
#include <iostream.h>
void convert(int num,int bit)
{
//x用来循环,count用来统计位数,数组用来存放余数
int x;
int count=0;
int array[20];
for(x=0;x<20;x++)
{
//将余数以一一存入数组
array[x]=num%bit;
num=num/bit;
count++;
if(num==0) break;
//除完的时候跳出循环
}
//反向输出,至于count为什么减1,你调试运行看看它的值的变化就明白了!
for(x=count-1;x>=0;x--)
{
cout<<array[x];
}
cout<<endl;//最后换行,可以省略
}
int main()
{
//num是要被转化的十进制数,bit是进制,如果输入100 6就是求100的6进制
int num,bit;
cin>>num>>bit;
//传递参数
convert(num,bit);
return 0;
}
//如果你学了数据结构,可以试着用堆栈来实现会更精炼
//我也是新手,算法不精炼,很希望能对你有帮助.
我来回复