飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: Nisy

[C/C++] C语言随堂作业一(看过视频后望大家再写一遍并提交代码)

[复制链接]

该用户从未签到

发表于 2009-5-12 13:13:59 | 显示全部楼层
这个作业对于我讲,可能现在还太高深了,正在学习中!!
能否以后再来交作业?
谢谢 !!
努力学习中,从头开始呢!
PYG19周年生日快乐!

该用户从未签到

发表于 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)));
}

我这几天有点忙(第二课刚看了一半)
我会尽快补上的
PYG19周年生日快乐!

该用户从未签到

发表于 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下编译通过。
PYG19周年生日快乐!

该用户从未签到

发表于 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 编译通过。
PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2017-9-24 22:49
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2009-5-13 13:32:16 | 显示全部楼层
    看了前4了视频之后做的。

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

    for循环实际就是(C++)
    1.     for( int i = 0; i < H ; i++)
    2.         printf("%c",*(a + i);
    复制代码
    2.我这个方法太麻烦了,期待N大讲解
    1. main()
    2. {
    3.         int a,i,j,k;
    4.         scanf("%d",&a);
    5.         if((a == 0) || !(a%2))
    6.         {
    7.                 printf("input wrong!");
    8.                 return;
    9.         }
    10.        
    11.         for(i = a/2;i>0;i--)
    12.         {
    13.                 for(j = 0;j<i;j++)
    14.                         printf(" ");
    15.                 printf("*");
    16.                 for(j = 0;j<a/2-i;j++)
    17.                         printf(" ");
    18.                 for(k = 1;k<a/2-i;k++)
    19.                         printf(" ");
    20.                 if(i != a/2)
    21.                         printf("*\n");
    22.                 else
    23.                         printf("\n");               
    24.         }
    25.        
    26.         for(i = 0;i<=a/2;i++)
    27.         {
    28.                 for(j = 0;j<i;j++)
    29.                         printf(" ");
    30.                 printf("*");
    31.                 for(j = 0;j<a/2-i;j++)
    32.                         printf(" ");
    33.                 for(k = 1;k<a/2-i;k++)
    34.                         printf(" ");
    35.                 if(i != a/2)
    36.                         printf("*\n");
    37.                 else
    38.                         printf("\n");               
    39.         }
    40.        
    41. }
    复制代码

    [ 本帖最后由 sdprtf 于 2009-5-13 21:42 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 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(" ");
                            }
                    }
            }
    重写
    PYG19周年生日快乐!

    该用户从未签到

    发表于 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(" ");
            }
          }
    }
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-7-26 14:34
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 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 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2009-5-13 16:22:03 | 显示全部楼层
    原帖由 lqiulu 于 2009-5-13 16:13 发表
    #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);
    }
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-7-26 14:34
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-5-13 16:55:24 | 显示全部楼层
    原帖由 Nisy 于 2009-5-13 16:22 发表



    看下这样是否OK ~

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

    ...

    可以通过,不错,这样更符合基于过程的程序设计原则,学习了。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表