kokomo 发表于 2009-5-12 13:13:59

这个作业对于我讲,可能现在还太高深了,正在学习中!!
能否以后再来交作业?
谢谢 !!
努力学习中,从头开始呢!

北燕南飞 发表于 2009-5-12 20:12:55

我只看出
define H strlen(a)
main()
{
      char *a="ChinaPYG!";(开辟空间并写上ChinaPYG!)
      int*b=0;
      for( ; *((char *)&b+1) < H ; (*((char *)&b+1))++)
      printf("%c",*(a + *((char *)&b+1)));
}

我这几天有点忙(第二课刚看了一半)
我会尽快补上的

xpower 发表于 2009-5-13 08:49:35

#include<stdio.h>

main()
{
        int r,c,k;
        scanf("%d",&k);
        for(r=1;r<=k/2+1;r++)
           {
                   for(c=1;c<=k/2+r;c++)
                           {if((c==(k+1)/2-r+1)&&(c==(k+1)/2+r-1))
                                   printf("*\n");
                                   else if(c==(k+1)/2-r+1)
                                                printf("*");
                                   else if(c==(k+1)/2+r-1)
                                                printf("*\n");
                                   else
                                                printf(" ");   
                                      }

                                   }
          
        for(r=k/2;r>=1;r--)
           {
                   for(c=1;c<=k/2+r;c++)
                           {
                                   if((c==(k+1)/2-r+1)&&(c==(k+1)/2+r-1))
                                   printf("*\n");
                                   else if(c==(k+1)/2-r+1)
                                                printf("*");
                                   else if(c==(k+1)/2+r-1)
                                                printf("*\n");
                                   else
                                                printf(" ");
                                             
                                   }        
                           }

}
在tc for win下编译通过。

lmy 发表于 2009-5-13 10:28:51

#include "iostream.h"

void main()
{
        int i,j,n;
        cin>> n;
        for (i = 1; i <= n; i ++ )
        {
                if (i <= (n + 1) / 2)
                {
                        for (j = ((n + 1) / 2)-1; j >= i; j --)
                        {
                                cout << " ";
                        }
                        if (i > 1 && i != n)
                        {
                                cout << "*";
                        }
                        for (j = 1; j <= 2 * (i -1) - 1; j ++)
                        {
                                cout << " ";
                        }
                        cout << "*" << endl;
                }
                else
                {
                        for (j = i-1 ; j >= (n + 1) / 2; j --)
                        {
                                cout << " ";
                        }
                        if (i > 1 && i != n)
                        {
                                cout << "*";
                        }
                        for (j = 1; j <= 2 * (n -i) - 1; j ++)
                        {
                                cout << " ";
                        }
                        cout << "*" << endl;
                }
        }
}

VC++ 6 编译通过。

sdprtf 发表于 2009-5-13 13:32:16

看了前4了视频之后做的。

1.#define H strlen(a)
main()
{
      char *a="ChinaPYG!";
      int*b=0;
      for( ; *((char *)&b+1) < H ; (*((char *)&b+1))++)
      printf("%c",*(a + *((char *)&b+1)));
}*((char *)&b+1)是取b两个字节中的第二个,当然也是0。H为字串长度

for循环实际就是(C++)    for( int i = 0; i < H ; i++)
      printf("%c",*(a + i);2.我这个方法太麻烦了,期待N大讲解main()
{
        int a,i,j,k;
        scanf("%d",&a);
        if((a == 0) || !(a%2))
        {
                printf("input wrong!");
                return;
        }
       
        for(i = a/2;i>0;i--)
        {
                for(j = 0;j<i;j++)
                        printf(" ");
                printf("*");
                for(j = 0;j<a/2-i;j++)
                        printf(" ");
                for(k = 1;k<a/2-i;k++)
                        printf(" ");
                if(i != a/2)
                        printf("*\n");
                else
                        printf("\n");               
        }
       
        for(i = 0;i<=a/2;i++)
        {
                for(j = 0;j<i;j++)
                        printf(" ");
                printf("*");
                for(j = 0;j<a/2-i;j++)
                        printf(" ");
                for(k = 1;k<a/2-i;k++)
                        printf(" ");
                if(i != a/2)
                        printf("*\n");
                else
                        printf("\n");               
        }
       
}

[ 本帖最后由 sdprtf 于 2009-5-13 21:42 编辑 ]

xpower 发表于 2009-5-13 14:56:32

#include<stdio.h>
#include<math.h>
main()
{
        int r,c,k;
        scanf("%d",&k);
        for(r=0;r<k;r++)
        {
                for(c=0;c<=k;c++)
                {
                        if(c==abs(k/2-r)||c==k-1-abs(k/2-r))
                           printf("*");
                        else if(c==k)
                       printf("\n");
                        else
                       printf(" ");
                        }
                }
        }
重写

pptppt 发表于 2009-5-13 15:22:37

看录像做个笔记
/* Note:Your choice is C IDE */
#include "math.h"
#define N 17
#define F N/2
void main()
{
   int i,j;
   for(i=0;i<N;i++)
    {
      for(j=0;j<=N;j++)
       {
         if(j==abs(F-i)|| j==N-1-abs(F-i))
         printf("*");
            else if(j==N) printf("\n");
            else printf(" ");
      }
      }
}

lqiulu 发表于 2009-5-13 16:13:12

#include <iostream>
#include <math.h>
using namespace std;
main()
{
    int i,j,N,F;
    start:printf("请输入棱形数字,必须是奇数:");
    scanf("%d",&N);
    if (N % 2 == 0 )
    {
      printf("你输入的数字不正确!!!\n");
      goto start;
    }
   else
    {
      F = N/2;
      for (i=0;i<N;i++)
      {
            for (j=0;j<=N;j++)
            {
            if (j == abs (F - i) || j == N - 1 - abs (F - i )) printf("*");
            else if (j == N) printf("\n");
            else printf(" ");
            }
      }
    }
}

[ 本帖最后由 lqiulu 于 2009-5-13 16:14 编辑 ]

Nisy 发表于 2009-5-13 16:22:03

原帖由 lqiulu 于 2009-5-13 16:13 发表 https://www.chinapyg.com/images/common/back.gif
#include
#include
using namespace std;
main()
{
    int i,j,N,F;
    start:printf("请输入棱形数字,必须是奇数:");
    scanf("%d",&N);
    if (N % 2 == 0 )
    {
      printf("你输入的数 ...


看下这样是否OK ~

    start:printf("请输入棱形数字,必须是奇数:");
    scanf("%d",&N);
    if (N % 2 == 0 )
    {
      printf("你输入的数字不正确!!!\n");
      goto start;
    }

--------------------------------------------

scanf("%d",&N);
while(!(N%2) || N>25)
{
        printf("你输入的数字为偶数,请输入一个小于25的奇数。\n");
        scanf("%d",&N);
}

lqiulu 发表于 2009-5-13 16:55:24

原帖由 Nisy 于 2009-5-13 16:22 发表 https://www.chinapyg.com/images/common/back.gif



看下这样是否OK ~

    start:printf("请输入棱形数字,必须是奇数:");
    scanf("%d",&N);
    if (N % 2 == 0 )
    {
      printf("你输入的数字不正确!!!\n");
      goto start;
    }

...
可以通过,不错,这样更符合基于过程的程序设计原则,学习了。
页: 1 2 [3] 4 5
查看完整版本: C语言随堂作业一(看过视频后望大家再写一遍并提交代码)