回 帖 发 新 帖 刷新版面

主题:C++高手帮忙.......

课题一:程序控制语句
一、    课题名称:编辑输出如下图形
A
AAA
AAAAA
AAA
A
二、    课题目的:熟练运用if、 switch 、while、 do~while 及for等控制语句进行程序的开发,学会多个控制语句的组合嵌套使用。
三、    课本要求:能输入任意字符构成任意大小的菱形图案

课题二:函数与数组
一、    课题名称:通过函数调用的方式,实现对输入的任意的十进制数转换成二进制、十六进制、八进制输出。
       1:八进制        
2:二进制
        3:十六进制
二、    课题目的:通过本课题程序,使同学们能理解函数在程序开发中的重要作用,并熟练运用函数去进行程序模块化设计;重要理解形参、实参的相互传递原理
三、    课题要求:程序算法精练,模块化、层次化强。



e-mail zhenzhenle@qq.com

回复列表 (共3个回复)

沙发

这还需要高手帮忙?LZ你做到哪一步了?如果什么都没做的话,赶快回去自己努力吧。

板凳

一点都没做`~不是我不想做

是不会做`~

老师节节课讲课都讲错(是节节课``没试过一节不错) ``你说`~我能听明白吗`~全班就1-2个能听明白`~

现在他说这是作业`~

还要不相同的`~

3 楼



//第一题
#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;
}
//如果你学了数据结构,可以试着用堆栈来实现会更精炼
//我也是新手,算法不精炼,很希望能对你有帮助.

我来回复

您尚未登录,请登录后再回复。点此登录或注册