2008
11-05

1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串


main()
{   char str[81],*pptr;
    int i;
    scanf(“%s”,a);
    for(i=0;i<80;i++)
       { str[i]=getchar();if(str[i]==’\n’)break;}
    str[i]=_____;
    sptr=str;
    while(*sptr) putchar(*sptr________);
    getch();
}


2、输入一个由正整数组成的字符串,将其转换成对应正整数然后输出


main()
{  char a[20],*p=a;
   long x=0L;
   scanf(“%s”,a);
   while(*p!=’\0′)
   ______________________
   printf(“%ld\n”,x);
    getch();
}


中间的空格要怎么填呀


求救》有 6 条评论

  1. yrqtl 说:

    第一个题目为什么会冒出这么一句呢?scanf(“%s”,a);

    下面不是已经有getchar()了吗,为啥还要加多scanf(“%s”,a);?

    第二个题目,数组数据的输入不是”scanf(“%s”,&a);”这样的吧?

    应该还要在前面加一句循环for(i=1;i<=20;i++)

     

    我是菜鸟,题目看不明白,望高手解释一下~~谢谢

  2. w19800605 说:

    1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串

    main()
    {   char str[81],*pptr;
        int i;
        for(i=0;i<80;i++)
           { str[i]=getchar();if(str[i]==’\n’)break;}
        str[i]=_____;
        sptr=str;
        while(*sptr) putchar(*sptr________);
        getch();
    }

    第一题是这样的,,没有 scanf(“%s”,a); 第二题就是那样的,,所以我也是看不明白,,可是书上就是这样的呀,,,

  3. wentao308 说:

    2、输入一个由正整数组成的字符串,将其转换成对应正整数然后输出

    main()
    {  char a[20],*p=a;
       long x=0L;
       scanf(“%s”,a);
       while(*p!=’\0′)
       { x=x*10+*p-48;
         p++;

       }
       printf(“%ld\n”,x);
        getch();
    }

     

    这样就OK

  4. wentao308 说:

    1、输入若干个字符,组成一个字符串存入一个字符数组,然后输出该字符数组中的字符串

    main()
    {   char str[81],*pptr;
        int i;
        scanf(“%s”,a);
        for(i=0;i<80;i++)
           { str[i]=getchar();if(str[i]==’\n’)break;}
        str[i]= ‘\0′;
        sptr=str;
        while(*sptr) putchar(*sptr++);
        getch();
    }

     

    搞定

     

  5. w19800605 说:

     x=x*10+*p-48;
    不明白什么意思呀,,能不能说的清楚一点,谢谢

  6. wentao308 说:

    P是指向字符的指针,*p-48,其中48中0的ASCII码,这一步将字符0到9转为数字0到9,

留下一个回复