怎么把一个数字变为符号

weixin_39393548 2017-12-08 09:16:02
我想写一个九九乘法表,需要带表头的。就是横着一行0~9,竖着一行0~9,但是需要把左上角的0变为 * ,我想问一下怎么弄,就剩这一点了。
...全文
262 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cavout 2017-12-11
  • 打赏
  • 举报
回复
ASCII表啊,一个int加上48就是这个数字的字符形式的ASCII值,如数字9,9+48等于57,57就是数字9的ASCII值,把57转换成char类型输出就是。
附:ASCII码表https://baike.baidu.com/item/ASCII/309296?fr=aladdin
赵4老师 2017-12-11
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
#include <string.h>
int main() {
    int a,b;
    char s[73],t[10];

    for (a=9;a>0;a--) {
        s[0]=0;
        for (b=a;b<10;b++) {
            sprintf(t," %dx%d=%d",a,b,a*b);
            if (a==2 && b==5) strcat(s," ");
            strcat(s,t);
            if (a==1 && b>=4) strcat(s," ");
        }
        printf("%60s\n",s);
    }
    return 0;
}
//                                                      9x9=81
//                                               8x8=64 8x9=72
//                                        7x7=49 7x8=56 7x9=63
//                                 6x6=36 6x7=42 6x8=48 6x9=54
//                          5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
//                   4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36
//             3x3=9 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
//       2x2=4 2x3=6 2x4=8  2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
// 1x1=1 1x2=2 1x3=3 1x4=4  1x5=5  1x6=6  1x7=7  1x8=8  1x9=9
幻夢之葉 2017-12-09
  • 打赏
  • 举报
回复
for(int i = 1; i <= 9; ++i) for(int j = 1; j <= 9; ++j) { if(j>i) //这里打印 * 号 } PS:我给出的是常见的乘法表,即1~9,并且是右上角为空(这里用*表达)(而你的是左上角) 如果需要左上角可以试试 if(j<9-i) 进行判断
z416575462 2017-12-09
  • 打赏
  • 举报
回复
你可以判断一下啊,如果为0就显示*, 否则若>0且<10则 显示符号=‘0’+数字; 一般在字符表里的0~9符号都是连续的。‘0’表示0符号的数字,参见asc码表

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧