sam__ @ 2023-01-02 19:32:20
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
char a[1001],b[1001];
int i,j=0;
int sum=0;
gets(a);
for(i=0; i<strlen(a); i++)
{
if(a[i]!=' ') sum++;
else
{
if(sum>=10&&sum<100&&sum!=0)
{
b[j]=sum/10+'0';
b[j+1]=sum%10+'0';
b[j+2]=',';
j+=3;
sum=0;
}
if(sum>=100&&sum!=0)
{
b[j]=sum/100+'0';
b[j+1]=(sum/10)%10+'0';
b[j+2]=sum%10+'0';
b[j+3]=',';
j+=4;
sum=0;
}
if(sum<10&&sum>0&&sum!=0)
{
b[j]=sum+'0';
b[j+1]=',';
j+=2;
sum=0;
}
}
}
printf("%s%d",b,sum);
return 0;
}
by zzx001 @ 2023-01-12 12:28:48
这道题的做法并不困难,只需要循环输入再判断(可以用while循环),输出时判断是否能是最后一个单词的长度,如果是,则不输出',',如果不是,则输出。
#include<bits/stdc++.h>
using namespace std;
int main(){
char d[2005];
int a[1005],i=0,c=0;
while(cin>>d){
c++;
int len=strlen(d);
a[i]=len;
if(c==1)
cout<<a[i];
if(c>1)
printf(",%d",a[i]);
}
return 0;
}
我这里是判断是否是第个单词
by zzx001 @ 2023-01-12 12:30:21
真不用这么麻烦
by sam__ @ 2023-01-15 01:39:11
@zzx001 谢谢了!