精华内容
下载资源
问答
  • c语言符号用法 %*c XTU oj作业 字母三角及解析
    2021-05-18 10:24:47

    scanf函数中的格式控制符:%*c

    其中%c是读一个字符,而中间的*号是跳过一个字符。意思就是读取一个字符但并不赋值给变量。

    下面是详细的格式说明,请参考:

    %a-----------------读入一个浮点值(仅C99有效)

    %A-----------------同上

    %c-----------------读入一个字符

    %d-----------------读入十进制整数

    %i-----------------读入十进制,八进制,十六进制整数

    %o-----------------读入八进制整数

    %x-----------------读入十六进制整数

    %X-----------------同上

    %c-----------------读入一个字符

    %s-----------------读入一个字符串

    %f-----------------读入一个浮点数

    %F-----------------同上

    %e-----------------同上

    %E-----------------同上

    %g-----------------同上

    %G-----------------同上

    %p-----------------读入一个指针

    %u-----------------读入一个无符号十进制整数

    %n-----------------至此已读入值的等价字符数

    %[]----------------扫描字符集合

    %%-----------------读%符号

    附加格式说明字符表修饰符

    L/l:长度修饰符----输入"长"数据

    h:长度修饰符------输入"短"数据

    W:整型常数--------指定输入数据所占宽度

    *: 星号-----------空读一个数据

    ps:回车属于字符!!!!!

    //字母倒三角

    #include 

    更多相关内容
  • 将一句话的单词进行倒置,标点符号不倒置。 输入示例 每次输入一个测试用例,输入长度不超过100 I love you. 输出实例 依次输出倒置后的字符串,以空格分割 you. love I #include<stdio.h> #include<...

    题目描述

    将一句话的单词进行倒置,标点符号不倒置。

    输入示例

    每次输入一个测试用例,输入长度不超过100

    I love you.

    输出实例

    依次输出倒置后的字符串,以空格分割

    you. love I

    #include<stdio.h>
    #include<string.h>
    #include<assert.h>
    void ReverseArr(char* begin, char* end)
    {
        assert(begin && end);
        while (begin < end)
        {
            char temp = *begin;
            *begin = *end;
            *end = temp;
            begin++;
            end--;
        }
    }
    int main()
    {
        char arr[100] = { 0 };
        gets(arr);
        int sz = strlen(arr);
        //1.将字符串所有都逆序
        ReverseArr(arr, arr + sz - 1);//将数组首地址和数组末地址传过去
        //uoy evol I
        //2.再逆序每个单词
        char* start = arr;
        while (*start)
        {
            char* end = start;
            while(*end != ' ' && *end != '\0')//uoy evol I
            {
                end++;
            }//出循环*end为' '或者'\0'
            ReverseArr(start, end - 1);
            //当*end为字符空格时,说明后面还有单词,end+1指向下一个单词的起始位置
            if (*end == ' ')
            {
                start = end + 1;
            }
            else//此时*end为'\0',说明已经结束,将end指向赋给start,结束大循环,所有单词逆序完成
            {
                start = end;
            }
        }
        printf("%s\n", arr);
        return 0;
    }
    

    另一种写法:

    #include<stdio.h>
    #include<string.h>
    #include<assert.h>
    void ReverseArr(char *begin,char *end)
    {
        assert(begin && end);
        while(begin<end)
        {
            char temp=*begin;
            *begin=*end;
            *end=temp;
            begin++;
            end--;
        }
    }
    int main()
    {
        char arr[100]={0};
        gets(arr);
        int sz=strlen(arr);
        //1.逆序整个字符串
        ReverseArr(arr,arr+sz-1);
        //uoy evol I
        //2.逆序每个单词
        int i=0;
        int j=0;
        for(i=0;i<sz;i++)
        {
            if(arr[i]==' ')
            {
                ReverseArr(arr+j,arr+i-1);
            }
            j=i+1;
            if(i==sz-1)
            {
                ReverseArr(arr+j,arr+i)
            }
        }
        return 0;
    }
    

    image-20210520185555639

    展开全文
  • 关于使用css制作三角符号,网上有很多的例子了,在这里只是为了详细的向各位解释一下三角符号的原理 下图,是一个长宽为100px,边框宽度为100px的一个元素,由此可见,在css中上下左右的边框相交处并不是一个直线,...
  • 首先要明白char是按一个字节存储的,int是按4个字节的存储的,无符号数是和正数的符号位一样。%x按4个字节打印十六进制(有符号),%d按4个字节打印十进制(有符号)。第一个打印:要按4个字节的%x格式打印一个字节的...

    匿名用户

    1级

    2018-05-28 回答

    挺有意思的题目。逐条解释吧。

    首先要明白char是按一个字节存储的,int是按4个字节的存储的,无符号数是和正数的符号位一样。

    %x按4个字节打印十六进制(有符号),%d按4个字节打印十进制(有符号)。

    第一个打印:要按4个字节的%x格式打印一个字节的char型,所以输出了这么多。

    %d输出的第二个:要以有符号的格式%d输出一个无符号的数ic,所以会输出负数。

    %d输出的第三个:要以有符号而且是4字节的格式%d输出一个无符号而且是一个字节的char型,所以得到224。

    追问:

    是的,谢谢参与

    追答:

    %x不分符号,是我写错了。

    汗,写的很抽象,但收到一个赞成,看来有人看懂了!解释一下吧:

    signed char sc = 0xe0;内存也保存为0xe0。

    unsigned int ic = sc;这一句,把有符号的字符型赋给无符号的整型。计算机的操作是,先把sc扩充成四字节,有符号数扩充的方法是按照符号位来填满空缺部分,于是ic就变成了0xffff ffe0;然后有符号数变成无符号数,在内存中没变化,还是0xffff ffe0。

    unsigned char uc = sc;这一句,把有符号字符型赋给无符号字符型。计算机的操作是,把内存中的sc值直接copy给uc,所以uc在内存中和sc一样,都是0xe0。

    看%x的第一个打印,把0xe0扩充成四字节,有符号数扩充的方法是按照符号位来填满空缺部分,所以输出ffff ffe0。第二个打印,直接输出,没得说的。第三个打印,无符号数扩充,前面说了,无符号数看作和正数的符号位一样。全部用0填充,所以就是0x0000 00e0,0不打印,打印e0。

    %d的输出和%x的值一样,只是形式不一样,不解释。

    分析0xe0对应的十进制数:

    因为0xe0的二进制是1110 0000,所以计算机存储的就是1110 0000,是按反码存储。首位是符号位,为1表示负数。因为负数的反码是对应原码按位取反再加1,那倒推,原码就是反码减1再按位取反。

    好,首位的1先不管,110 0000减一得101 1111;按位取反得原码010 0000,而这个数的十进制就是32。所以对于有符号字符型,0xe0就是-32。

    追问:

    你上边的嗯,基本是这样,我懂。我现在不明白的是,printf %d输出,你说是4字节

    那么这个函数的形参应该也是4字节,

    %d输出第一个sc 应该也是扩充吧 负数扩充 0xFFFF FFE0

    %d输出第二个ic 不需要扩充 0xFFFF FFE0

    %d输出第三个个uc 正数,需要扩充 0x0000 00E0

    问题就是:

    怎么 0xFFFF FFE0有符号打印,是-32呢?

    -32应该是0XE0啊

    追答:

    1111 1111 1111 1111 1111 1111 1110 0000 --- 0xffff ffe0

    1111 1111 1111 1111 1111 1111 1101 1111 --- 减1

    0000 0000 0000 0000 0000 0000 0010 0000 --- 取反得原码,这就是他妈的32

    够清楚了没有

    追问:

    明白了。我知道我纠结的问题所在了。那个,你说的反码,应该叫做补码

    反码只是取反,负数和正数都是按补码存储的

    追答:

    啊,不好意思,混淆名词了

    展开全文
  • 牛客网上刷题碰到的:将一句话的单词进行倒置,其中标点符号不倒置. 例如输入一句话"I Love Beijing."要求输入为:"Beijing. Love I" 题目分析 刚开始看到这个题目的时候,脑子里没有思路: 1. 如何计算出输入的单词的...

    题目内容

    1. 牛客网上刷题碰到的:将一句话的单词进行倒置,其中标点符号不倒置.
    2. 例如输入一句话"I Love Beijing."要求输入为:"Beijing. Love I"

    题目分析

    刚开始看到这个题目的时候,脑子里没有思路:
    1. 如何计算出输入的单词的长度并进行翻转
    2.如何将标点符号做到不随单词进行翻转

    认真考虑了之后,觉得可以分为以下几个步骤:

    1. 字符串的整体翻转
      将输入的"I Love Beijing.“翻转成”.gnijieB ekiL I"
    2. 单词的逆序翻转
      在上步的基础上,将单词进行翻转,".gnijieB ekiL I"翻转成"Beijing. Like I"

    代码实现

    #define _CRT_SECURE_NO_WARNINGS 1
    #include<stdio.h>
    #include<string.h>
    void reverse(char*left,char*right)
    {
      char tmp=0;
      while(left<right)
      {
        tmp=*left;
        *left=*right;
        *right=tmp;
        left++;
        right--;
      }
    }
    int main()
    {
      char arr[100]={0};
      //用库函数gets(),获取字符串
      gets(arr);
      int len=strlen(arr);
      //接下来定义一个reverse函数,翻转功能用这个函数实现
      //第一步实现字符串的整体翻转
      reverse(arr,arr+len-1);
      //单词翻转
      char*start=arr;
      while(*start)
      {
           char*end=start;
           while(*end!' '&&*end!='\0')
           {
            end++;
           }
      //识别到' '或者是字符串的终止字符'\0',进行翻转操作
           reverse(start,end-1);
           if(*end==' ')
            start=end+1;
           else
            start=end;
      }
      printf("%s\n",arr);
      return 0;
    }
    

    程序思考

    这个代码说难不难,说简单也不是很简单,想在这里跟大家分享一下以下经验:

    1. 在输入字符串的时候,不能采用scanf输入,要采用库函数中的gets()函数输入
      刚开始我在输入一段字符串时,也是采用了scanf()函数进行输入,最后发现结果不对.经过调试发现,scanf()函数在输入时,碰到’ ‘或者是’\0’就停止输入后面的字符了,导致我们在输入"I Love Beijing."时,编译器中只输进去了’I’,结果当然也是错的.
      在这里插入图片描述
    2. 在进行单词翻转中,要用if语句判断一下,终止点是’ '还是‘\0’
      刚开始,我在最后判断的时候,没有判断最后end是‘ ’还是’\0’,统一将start=end+1,这样就带来了问题:
      假如我识别到’\0’,但是我仍然将start置为end+1,将’\0’跳了过去,这样就有可能会导致结果发生错误,所以为了让结果更加严谨,采用下面的这种方式:
           if(*end==' ')
            start=end+1;
           else
            start=end;
    

    - 谢谢大家,希望对大家有所帮助!

    展开全文
  • 将一句话中的单词进行倒置(单词之间倒转,单词本身不倒置),标点符号不倒置。 比如一句话“I like China.”,倒置后变成“China. like I”。单词与单词之间空格隔开 输入测试用例长度不超过100 大致思路: 运用...
  • C语言输入三角图案

    2021-09-24 19:10:50
    C语言输入三角需要记住\n是换行 #include<stdio.h> int main(void) { printf("* * * *\n * * *\n * *\n *\n"); return 0; } 在输入每个*时需要空格,否则将无法输出三角的图案
  • 前后颠倒输入的英文中的单词位置,标点符号(只可以出现在句尾)位置不变,如输入"my name is gu hu!"输出应该为"hu gu is name my!"。
  • 在初学c语言的时候,大家都会接触到编译三角形,本文讲述了三角形的编译代码,大家一起看看吧。C语言打印三角形代码:#includevoid main(){int i,j,k,l;//i为第几层星号;k为星号前的空格数;j为星号数;l为打印...
  • 复制代码代码如下: <style> .b{ position: absolute; z-index: 2; width: 0; height: 0; line-height: 0; font-size: 0; border-width: 5px;... /*如果三角形前面的字多于两个,就设置这里的像素值大些*/
  • 满意答案atg69qew2013.06.01采纳率:56%等级:12已帮助:14317人可以用下述程序实现:#include void main(){int h,i,j;do{printf("input the triangle's height h:\n");scanf("%d",&h);if(h<...
  • C语言三角

    千次阅读 2018-01-26 21:22:10
    输入格式: ...按照下列格式输出由“*”组成的三角图案。 * * * * * * * * * * #include int main() { int n; scanf("%d",&n); for(int i=n;i>0;i--) { for(int k=0;k;k++) printf("
  • 输出三角—C语言实现

    千次阅读 2020-09-10 20:23:23
    输出三角—C语言实现 此题输出星号构成的三角。 可以拆解为两个部分,第一部分是对于空格的输出,第二部分是对于星号()的输出。 主要利用循环实现。 n为总输出层数,i为每层的编号。 然后每一层的星号数目与层...
  • 将一句话里的单词进行倒置,标点符号不倒置。比如一句话:i come from beijing.倒置后变成:beijing. from come i。  解析:解决该问题可以分为两步:第一步全盘置换该语句成:.gnijieb morf emoc i。第二步进行...
  • C语言——倒置的字母三角形

    千次阅读 2018-12-01 01:06:29
    •倒置三角形的中心线上的字符从下到上依次是‘A’、‘B’、‘C’、……; •倒置三角形每一行上的字母必须按中心线左右对称:在中心线左侧,字母依次减小,在中心线右侧,字母依次增大; •倒置三角形每一行上的...
  • 1.1 sizeof关键字sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节sizeof与size_t类型1.1 int类型1.1.1 int常量,变量int就是32位的一个二进制整数,在内存当中占据4个字节的空间1.1.2 printf...
  • #include #include int main() { char a[] = “my name, is hello!”; char p = a; int len = strlen( p ); int i = 0; int indexstar = 0, ... while(*p) { printf("%c",*p); p++; } printf("\n"); return 0; }
  • 以下为我写的代码,感觉还可以 /对一句话的每个单词进行倒置 但是标点符号不倒置 //输入i like beijing. 输出beijing. like i #include #include void sort(char *star,char *end) //传地址 { while (star ) { char...
  • 1.字符二维数组 首先,定义一个字符二维数组,用来存放输入的字符串,题目要求是每个单词最长20个字母; char a[500][22];//定义二维字符串数组; ...2.scanf的指定读取 ...利用scanf的读取指定的字符集的功能,只读取...
  • 1. 字符串转无符号整型unsignedint 初始化一个字符串str;num用于存放当前转换的整型数,初始化为0。对字符串str中的每个字符进行判断,一旦扫描到当前字符在数字字符的范围之外,直接跳出循环。那么转换的整型数是...
  • C语言实现链表倒置

    2020-05-17 17:46:54
    // 定义符号常量 #define N 5 typedef struct node{ int data; struct node * next; }NODE; // 链表倒置 NODE *fun(NODE *h){ NODE *p, *q, *r; p=h; if(p==NULL){ return NULL; } q=p->
  • 将一句话里面的单词进行倒置,标点符号换 如“i love you.”,倒换后"you. love i" #include <string.h> #include <stdio.h> #include <stdlib.h> void reverse(char *str) { int i=0,j=...
  • 数学并集符号

    千次阅读 2021-08-02 09:30:08
    并集:符号 ∪,意思是取两个集合的全部元素,记忆方法:并集的符号就是门过来。举例(1)集合 {1,2,3} 和 {2,3,4} 的交集为 {2,3}。即{1,2,3}∩{2,3,4}={2,3}。(2)数字9不属于质数集合 {2,3,5,7,11, ...} 和奇数...
  • c语言倒三角形

    2017-03-16 16:39:00
    =20输出一个n层的三角形.例如n=5则输出如下所示// 解题思路 每层是2n-1个* 5-i个空格 双层for循环/*################ ##### ### #*/#include<stdio.h>int main(){ int n; scanf("%d",&n); for(int i=n;i...
  • 符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 。 n=7时的1个符号...
  • 1,整形:(默认有符号数) 在内存中存的是其对应二进制补码 char(存在内存中是其ASCLL码) short(短整型) int(整形) long(长整形) 2,浮点型: float double long double(不是所有编译器都支持) 3,构造类型...
  • 一、运算方式及运算符号 运算符号 意义 +,— 加法,减法 *,/,% 乘法,除法,取余 ** 幂运算 ++,—— 自增加,自减少 &amp;amp;lt;,&amp;amp;lt;=,&amp;amp;gt;,&...
  • 竖线符号

    万次阅读 2021-05-18 11:54:30
    一、HTML 里竖线 这个“ | ” 符号怎么弄可以通过设置一个span元素,赋予css样式实现。css代码如下:(主要css属性是border-right;border-right:1px solid gray;padding-right:10px;padding-left:10px) 假设一个div,...
  • #include main(){int i,j,k;int n;scanf("%d",&n);//正三角for(i=0;i{for(j=0;jprintf(" ");for(k=0;k<=i;k++)printf(" *");...}//三角for(i=0;i{for(j=0;j<=i;j++)printf(" ");for(k=0;kprintf(" *...
  • 数学相交符号

    千次阅读 2021-07-16 01:29:37
    1. 数学中两个符号∪和∩代表什么意思啊集合中的交集和并集对于集合A和集合BA∩B表示所有既属于A又属于B的元素,它们所组成的集合,称为A交BA∪B表示所有属于A或者属于B的元素,它们所组成的集合,称为A并B例子:1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,960
精华内容 17,184
关键字:

倒c符号