pat-bl-1009
来源:互联网 发布:搜狗输入法 for mac 编辑:程序博客网 时间:2024/06/10 05:13
pat-bl-1009
2016-11-10更新
2016-11-06
- 方法:
- strtok函数分割字符串
- 每次scanf一个(已解决)
- 用C++写,基本数据类型、容器、迭代器。参考:PAT Basic Level 1009. 说反话(20)
- 未AC前出错6处
- gets() has been removed from C11 standard,所以要改用fgets()。参考:Implicit declaration of ‘gets’
- 不能写成ans[i++] = pStr,而是strcpy(ans[i++], pStr)。参考:字符串数组/字符串指针的赋值
- 见代码内
- 方法1.的str[81]提交的话就会出问题,目前不清楚为什么
- scanf不能读指针只能读数组,why?因为没分配空间?
- 无法终止读入至今没改对(已改好)
/** * pat-bl-1009 * 2016-11-06 * C version 2.0更新于2016-11-10 * 方法: * 1.strtok函数分割字符串 * 2.每次scanf一个(已改好) * 未AC时出错6处 */#include<stdio.h>#include<string.h>//idea 1:int main(){ char str[82];//出错4:str[81]提交的话就会出问题,目前不清楚为什么 char *pStr; char ans[82][82]; int i = 0, cnt = 0;; fgets(str, sizeof(str), stdin);//出错1:gets() has been removed from C11 standard,所以要改用fgets() str[strlen(str)-1] = '\0'; pStr = strtok(str, " ");//做第一次分割 while(pStr) { strcpy(ans[i++], pStr);//出错2:不能写成ans[i++] = pStr pStr = strtok(NULL, " ");//继续分割 } while(i--)//出错3:写成了--i的话第0个就不能输出了 { if(cnt++) { putchar(' '); } printf("%s", ans[i]); } printf("\n"); return 0;}//idea 2:int main(){ char tmp[81]; char str[81][81]; int i = 0, cnt = 0; //scanf("%s", tmp);//出错5:scanf不能读指针只能读数组,why?因为没分配空间? while(scanf("%s", tmp) != EOF)//出错6:改为while(scanf("%s", tmp) != EOF)就可以 { //printf("%s\n", tmp); strcpy(str[i++], tmp);//出错2:不能写成ans[i++] = pStr //scanf("%s", tmp); } while(i--)//出错3:写成了--i的话第0个就不能输出了 { if(cnt++) { putchar(' '); } printf("%s", str[i]); } printf("\n"); return 0;}
-Fin-
0 0
- pat-bl-1009
- PAT (BL) 1001
- PAT-BL-1011
- PAT-BL-1007
- PAT-BL-1008
- pat-bl-1012
- pat-bl-1010
- pat-bl-1013
- pat-bl-1014
- pat-bl-1015
- pat-bl-1016
- pat-bl-1020
- pat-bl-1021
- pat-bl-1022
- pat-bl-1023
- pat-bl-1024
- pat-bl-1025
- pat-bl-1026
- mac 搜狗输入法重新开机总是需要重新安装
- 初次接触React Native
- jzoj 4882. 【NOIP2016提高A组集训第12场11.10】多段线性函数 乱搞
- 学弟学妹降落场
- 互利科技荣获TechCrunch 2016国际创新峰会创业大赛总决赛第三名
- pat-bl-1009
- 关于回调callback的多种形式
- 判断整数的正负性和奇偶性
- sql语句
- 三村合建水厂问题研究
- orcle索引的建立修改及删除
- 地图---CoreLocation框架(学习笔记)
- 全角半角转换
- 算法 排序算法之快速排序