Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 字串问题_C - Fatal编程技术网

C 字串问题

C 字串问题,c,C,我有以下问题: 计算机经常用于支票书写系统,如工资单 以及应付帐款申请。许多关于周薪的故事流传开来- (错误地)打印金额超过100万美元的支票。奇怪的 由于人为因素,金额由计算机化支票书写系统打印 错误和/或机器故障。当然,系统设计师会尽一切努力 在他们的系统中建立控制,以防止错误的检查被发出。 另一个严重问题是某些人故意更改支票金额- 欺诈者打算欺诈性地兑现的人。防止一美元的金额被冻结 经过修改的大多数计算机化支票书写系统采用一种称为支票的技术 保护 为计算机打印而设计的支票中包含固定数量的空

我有以下问题:

计算机经常用于支票书写系统,如工资单 以及应付帐款申请。许多关于周薪的故事流传开来- (错误地)打印金额超过100万美元的支票。奇怪的 由于人为因素,金额由计算机化支票书写系统打印 错误和/或机器故障。当然,系统设计师会尽一切努力 在他们的系统中建立控制,以防止错误的检查被发出。 另一个严重问题是某些人故意更改支票金额- 欺诈者打算欺诈性地兑现的人。防止一美元的金额被冻结 经过修改的大多数计算机化支票书写系统采用一种称为支票的技术 保护

为计算机打印而设计的支票中包含固定数量的空格 计算机可以打印一个金额。假设一张工资单包含九个 计算机应在其中打印每周的数量的空白区域 薪水。如果数量很大,那么所有九个空间都将被填满

例如:

11,230.60 (check amount)
---------
123456789 (position numbers)
另一方面,如果金额低于1000美元,则几个空间将被删除 通常为空,例如

99.87
---------
123456789
包含四个空格。如果支票是用空格打印的,那就容易多了 让某人更改支票金额。防止支票被拒绝 经过修改,许多支票书写系统插入前导星号以保护金额 详情如下:

****99.87
---------
123456789
编写一个程序,输入要打印在支票上的美元金额,然后 如有必要,以带前导星号的支票保护格式打印金额。 假设有九个空格可用于打印金额


我没有要求任何人为我编写代码或其他任何东西,我只需要一个起点,我们有一个包含所有这些不同函数的庞大列表,有人能推荐我可以从字符串处理库中使用的函数吗?

我不会帮你做功课,但我鼓励你看看以下函数:

sprintf格式的输出

提示:0在左侧填充输出

strspn/strcspn—计算一组字符中/不中的字符跨度

提示:替换多余的零

memset-用字节值填充内存区域


我假设你知道如何用C语言中的字符和“字符串”进行指针运算。如果不知道,那就好好学习。我也假设是ASCII码,而不是unicode码。如果是unicode,您可以教我如何使用C:-)

我不会为您做作业,但我会鼓励您查看以下函数:

sprintf格式的输出

提示:0在左侧填充输出

strspn/strcspn—计算一组字符中/不中的字符跨度

提示:替换多余的零

memset-用字节值填充内存区域


我假设你知道如何用C语言中的字符和“字符串”进行指针运算。如果不知道,那就好好学习。我也假设是ASCII码,而不是unicode码。如果是unicode,你可以教我如何用C:-)

想想要打印的位数和数字前面的星号数之间的关系。它们的总和应该是一个常数,在本例中为9。因此,如果您得到要打印的数字字符串的长度,您可以确定要先打印多少个星号。

请考虑要打印的数字数量与数字前面的星号数量之间的关系。它们的总和应该是一个常数,在本例中为9。因此,如果您得到要打印的数字字符串的长度,您可以确定要先打印多少个星号

  • 使用itoa转换金额并查找长度

  • 现在从9(最大位数)减去长度,得到的位数为 要打印的星号

  • 打印星号数量,然后打印金额


  • int amt,count;
    chars[10];
    printf(“输入金额”);
    scanf(“%d”和金额);
    /*将金额存储为字符串*/
    itoa(amt,s,10);
    /*计数*/
    计数=9-strlen(s);
    /*打印星号*/
    对于(int i=0;i
    
  • 使用itoa转换金额并查找长度

  • 现在从9(最大位数)减去长度,得到的位数为 要打印的星号

  • 打印星号数量,然后打印金额


  • int amt,count;
    chars[10];
    printf(“输入金额”);
    scanf(“%d”和金额);
    /*将金额存储为字符串*/
    itoa(amt,s,10);
    /*计数*/
    计数=9-strlen(s);
    /*打印星号*/
    
    对于(inti=0;ihaha-nah是ascii:),现在的主题是字符串和字符,所以我正在尝试这些问题,做得很好,现在就完成这一个:)谢谢你的帮助!哈哈,不,这是ascii:),现在的主题是字符串和字符,所以我只是在尝试这些问题,做得很好,刚刚完成这一个:)谢谢你的帮助!我不知道为什么我第一次想到这一点是因为我把东西捣碎成了一个数组。我不知道为什么我第一次想到这个,是把东西捣碎成一个数组。谢谢!我现在试一试:)我该如何执行减法?9-strlen(s)其中s是存储转换后的amti将itoa定义为的字符串,但它表示它未声明?有什么原因吗?编辑:itoa显然不在任何标准中,我使用了snprintf,它工作得很好:)使用头文件includeHanks!我现在试一试:)我该如何执行减法?9-strlen(s)其中s是存储转换后的amti将itoa定义为的字符串,但它表示它未声明?有什么原因吗?编辑:itoa显然不在任何标准中,我使用了snprintf,它工作正常:)使用头文件包括
    int amt,count;
    char s[10];
    printf("Enter Amt");
    scanf("%d",&amt);
    
    /* Store Amount as String */
    itoa(amt,s,10);
    
    /* Calculate Count  */
    count=9-strlen(s);
    
    /* Print asterisks */
    for(int i=0;i<count;i++)
    printf("*");
    
    /* Print Amount */
    printf("%d",amt);