在一行中输入长度不超过40的字符串。
输出格式:
第一行中输出“zimu=x“
第二行中输出“shuzi=y“
第三行中输出“kongge=z”,
第四行中输出“qita=m” 所有结果均原样输出,没有列宽控制。
输入输出有什么关联?
#include <iostream>
using namespace std;
int main()
{
char s[41] = {0};
int a=0,b=0,c=0,d=0;
gets(s);
for(int i=0;i<strlen(s);i++)
{
if((s[i] >= 'A' && s[i] <='Z' )|| (s[i] >= 'a' && s[i] <='z' ))
a++;
else if(s[i] >= '0' && s[i] <= '9')
b++;
else if(s[i] == ' ')
c++;
else
d++;
}
cout<<"zimu="<<a<<endl;
cout<<"shuzi="<<b<<endl;
cout<<"kongge="<<c<<endl;
cout<<"qita="<<m<<endl;
return 0;
}
C代码如下
#include <stdio.h>
int main()
{
char buf[42]={0};
int zimu=0,shuzi=0,kongge=0,qita=0;
int i = 0;
gets(buf);
while(buf[i]!='\0')
{
if( (buf[i]>='A'&&buf[i]<='Z') || (buf[i]>='a'&&buf[i]<='z'))
zimu++;
else if(buf[i]>='0'&&buf[i]<='9')
shuzi++;
else if(buf[i]==' ')
kongge++;
else
qita++;
i++;
}
printf("zimu=%d\n",zimu);
printf("shuzi=%d\n",shuzi);
printf("kongge=%d\n",kongge);
printf("qita=%d\n",qita);
return 0;
}
原样输出?这样吗?
#include<stdio.h>
int main()
{
char s[4][40];
for (int i = 0; i < 4; i++)
gets(s[i]);
for (int i = 0; i < 4; i++)
printf("%s\n",s[i]);
return 0;
}
如有帮助,望采纳!谢谢!