1009 说反话

 1 #include<stdio.h>
 2 #include<string.h>
 3 int main()
 4 {
 5     char str[90];
 6     /*出现运行时错误常常可能是因为字符串数组的位置不够本题用的是不超过
 7     80个字符串的数组,由于每个字符串在存储的时候会自动在后面添加'\0'因
 8     此内存会多用一位,在开辟数组的时候需要小心,比如这道题开辟的时候就
 9     不要用str[80]而是用str[90]比较好否则测试点4(可能测试的是80个字符
10     )就会报错*/
11     char a[90][90];
12     gets(str);
13     /*gets()识别换行符\n作为输入结束,因此scanf完一个整数后如果要用gets
14     需要先用getchar接收整数后的换行符*/ 
15     int col=0,line=0;
16     int len=strlen(str);
17     for(int i=0;i<len;i++)
18     {
19         if(str[i]!=' ')
20             a[col][line++]=str[i];
21         else
22         {  
23            a[col++][line]='\0';
24            /*在字符串尾部需要添加'\0'以表示字符串结束
25            否则printf与puts无法识别字符串是否结束而输出一堆乱码*/
26            line=0;
27         }
28     }
29     for(int k=col;k>=0;k--)
30     {
31         printf("%s",a[k]);
32         if(k>0)
33           printf(" ");
34     }
35 }

 

转载于:https://www.cnblogs.com/gausstu/p/11321769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值