A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WANGJIAO 中级黑马   /  2014-10-20 12:52  /  1282 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我做练习时遇到的小问题,输入一个整数,输出对应的星期几,比如1,就输出星期一,可是我这么写输出的是星期1啊,怎么才能把阿拉伯数字变成大写的?(7以上的就先不管了)
printf("请输入整数\n")  ;
int day = 0;
scanf("%d",&day);
printf("星期%d\n",day);




7 个回复

倒序浏览

  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.     char *days[7] = {"一" , "二" , "三" , "四" , "五" , "六" , "日"};
  5.     int day = 0;
  6.     printf("请输入整数\n");
  7.     scanf("%d" , &day);
  8.    
  9.     printf("星期%s\n" , days[day-1]);
  10.    
  11.    
  12.     return 0;
  13. }
复制代码
回复 使用道具 举报

能讲解下吗?这是基本运算里的题怎么会用到指针和数组啊
回复 使用道具 举报
WANGJIAO 发表于 2014-10-20 16:07
能讲解下吗?这是基本运算里的题怎么会用到指针和数组啊
  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.     char *days[7] = {"一" , "二" , "三" , "四" , "五" , "六" , "日"};
  5.     /*
  6.      定义一个指针数组days,包含7个指针,每个指针都是指向字符串的,分别指向"一" , "二" , "三" , "四" , "五" , "六" , "日"这7个字符串
  7.      */
  8.     int day = 0; //保存键盘输入的整数的变量day,后面用作指针数组的下标
  9.     printf("请输入整数\n");
  10.     scanf("%d" , &day);
  11.    
  12.     printf("星期%s\n" , days[day-1]); //将对应的字符串连接到"星期"后面,得到“星期一”这样的字符串
  13.    
  14.     /*
  15.      char a = 'c';
  16.      char b = a - 'a' + 'A';
  17.      这样可以将小写字母'c'转换成大写字符'C',要把数字转换成汉字,只能用字符串的。
  18.      */
  19.    
  20.    
  21.     return 0;
  22. }
复制代码
回复 使用道具 举报

这个方法不错 mark
回复 使用道具 举报
这个方法好
回复 使用道具 举报

谢谢~非常好的方法!
回复 使用道具 举报
coyote 中级黑马 2014-10-20 22:25:20
8#
这个看着挺高大上  也可以用switch 就是感觉有点低端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马