c++题目,求修改纠正

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7

输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*

我写的代码
#include <stdio.h>

int main()
{
int n ,hang ,i ,j , k;

scanf_s("%d", &n);
hang = (n + 1) / 2;
for (i = 1; i <= hang; i++)
{

for (j = 1; j <= hang-i; j++)

printf(" ");

for (k = 1; k <= 2 * i - 1; k++)

printf("* ");
printf("\n");

}
hang = hang - 1;
for (i = 1; i <= hang; i++)
{

for (j = 1; j <=i ; j++)

printf(" ");

for (k = 1; k <= n - 2 * i; k++)

printf("* ");
printf("\n");

}
return 0;
}

呵,你的代码运行的图形好有动感,像在风中凌乱

#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char *argv[]) 
{
    int i,j,n;
    printf("请输入一个正奇数:");
    scanf("%d",&n);
    n=n/2+1;
    for(i=1;i<=n;i++)
    {
        for(j=n-i;j>0;j--)
        {
            printf("  ");
        }
        int x;
        for(x=1;x<=i*2-1;x++)
        {
            printf("* ");
        }
        printf("\n\n");
    }
    //下半部分
    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("  ");
        }
        int x;
        for(x=(n-i)*2-1;x>0;x--)
        {
            printf("* ");
        }
        printf("\n\n");
    }
    return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

求高手帮忙解决下面这个C++中的一个题目。看俺的代码哪里有错...
1.求个位数,直接用n%10就可以了,你那样子是求的最高位的值 2.既然你已经定了个位为7,直接给m赋7就可以了吧。3.你上面那样子算的时候,最后退出第一个while循环的时候,n是为0的,下面不能用这个n计算,你若是不断的用n\/=10,开始应该用个变量保存这个n的值 4.还有在main中,不能单单...

C++题目帮忙修改一下
\/\/1 cin不能连续输入 cin>>x>>y 改成cin>>x;cin>>y;\/\/2 cin>>x;cin>>y;其中x,y是Circle类的成员变量,在类以外的地方时毫无意义的。如果在外不调用的话 \/\/应该这样 Circle cir(a,b,c); cir.x ,cir.y ,如果是static变量应该是Circle::x;\/\/建议楼主看看谭浩强的C++,深入...

菜鸟新学c++。求高手鉴定这道c++题目我哪里做错了,应该怎么改怎么做...
1、当n很大时(如99998),a1和a2的取值超出了double的范围。2、{for(b=1,a1=1,a2=2;b<=n;b++)语法错误。3、for循环中只有分子的值做了对应修改,分母的值未做对应修改。我修改了以下你看看可以不。#include <iostream> include <iomanip> using namespace std;int main(){ double r[999...

C++分数拆分题目 求纠错
if(1\/k==1\/x+1\/y) 这里1\/k 1\/x 1\/y都会是0,整数相除,结果也是整数,小数部分会丢弃!

一道c++编程题,写的一塌糊涂,看看错误,并帮忙改正。谢谢!
这道题按题目要求做真的挺麻烦的 我按照你的基础改了一下程序,你看看吧 include<iostream> include<string.h> using namespace std ;class cstring{ char*str,(*p)[2];int size;public:cstring(char*s){ str=new char[strlen(s)+1];strcpy(str,s);size=0;p=NULL;} void count(){ char...

【C++】求大神修改!找出第K的数,要用函数~
回答:不知道你是否有认真看题目:题目中明显规定了不允许用排序,而你依然使用了冒泡排序。其实程序思想很简单,就是对每一个数,找一找有多少个数比他大呗,如果有0个数比他大,那他就是第1,如果有1个数比他大,那么他就是第2。那么关系就明确了,如果有n个数比他大,那么他就是第n+1大的。...

一道C++题目,求修改.输入几个学生,每个学生有3门课的成绩,
include<fstream> using namespace std;struct student { int number;char name;char kename;float score[3];float average;};const int N=5;static student st[N];void fun1(int N){ for(int a=0;a<N;a++){ cout<<"请输入"<<a+1<<"个学生的相关资料:"<<endl;cout<<"请输入学号...

c++有个计算绝对值的题目出错,求解
\/\/定义的数据类型是int,所以输入和输出的时候用%d \/\/修改之后的结果如下 include<stdio.h> include<stdlib.h> void main(){ int x,y;printf("请输入绝对值内数字:");scanf("%d",&x);y=x>=0?x:-x;printf("此数值的绝对值为%d\\n",y);system("pause"); \/\/屏幕停留函数 } ...

C++编程题找错,很急,谢谢
主要问题出在下面的这个函数:\/\/做了两个修改1.把函数的返回值改为了引用,当然函数声明也得该 \/\/2.把tmp改成了局部静态变量 \/\/或者改为全局变量 Polynomial & Polynomial::operator+ (const Polynomial& rhs) \/\/引用 { \/\/涓轰粈涔堣繖涔堜笉琛?static Polynomial tmp;\/\/Polynomial tmp = *...

这个C++程序怎么改正?
问题一堆 大致修改如下 你自己对比一下改哪里了吧 include<iostream>#include<iomanip>using namespace std;class Date{int year;int month;int day;public:void set(int y,int m,int d){year=y;month=m;day=d;};\/\/void Date::set();bool isLeapYear(){return(year%4==0 && year%100!=...

相似回答