|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
char a[40] = {0};
char* p = a;
int count = 0;
printf("请输入一个英文句子:");
int n = 0;
int m = 1;
int i=0,j = 0;
while (1)
{
scanf_s("%c", &(a[n++]));
count += 1;
i += 1;
if (a[n-1] == '\n')
{
break;
}
if (a[n-1] == ' ')
{
m += 1;
i = 0;
if (a[n-2] == ' ')
m -= 1;
}
}
if (a[0] == ' ')
{
m -= 1;
}
printf("分割结果已存放到result[%d][%d]的二维数组...\n", m, i);
printf("现在依次打印每个单词:\n");
n = 0;
while (*p++ == ' ')
{
;
}
*p--;
while(1)
{
while(*p++ != ' ')
{
printf("%c", *(p - 1));
}
while (*p++ == ' ')
{
;
}
*p--;
printf("\n");
if (*p == '\n')
{
break;
}
}
return 0;
}
想问下大佬们这个“烫”该怎么解决 非常感谢!
如果用你的代码,我看到有点眼花   我稍微修改: - #include <stdio.h>
- #define _CRT_SECURE_NO_WARNINGS
- int main(){
- char a[40] = {0};
- char *p = a;
- int count = 0;
- printf("请输入一个英文句子:");
- int n = 0;
- int m = 1;
- int i = 0, j = 0;
- while (1) {
- scanf("%c", &(a[n++]));
- count += 1;
- i += 1;
- if (a[n-1] == '\n') break;
- if (a[n-1] == ' '){
- m += 1;
- i = 0;
- if (a[n-2] == ' ') m -= 1;
- }
- }
- if (a[0] == ' ') m -= 1;
- printf("分割结果已存放到result[%d][%d]的二维数组...\n", m, i);
- printf("现在依次打印每个单词:\n");
-
- n = 0;
- while (*p){
- if(*p == ' ') printf("\n");
- else printf("%c", *p);
- *p++;
- }
-
- return 0;
- }
复制代码
|
-
|