#include<stdio.h>int main(){ char a[5][20]; char shuzi[40],zimu[40],qita[40]; char *p; int i=0,j=0,k=0,l=0,m=0; p=a; for(i=0;i<=4;i++) scanf("%s",a[i]); for(i=0;i<=99;i++) { if(*(p+i)<='z'&&*(p+i)>=a||*(p+i)<='Z'&&*(p+i)>='A') { zimu[j]=*(p+i); j++; } else if(*(p+i)<=9&&*(p+i)>=1) { shuzi[k]=*(p+i); k++; } else { qita[l]=*(p+i); l++; } } printf("%d",j); for(j=0;j<=39;j++) printf("%s\n",zimu[j]); printf("%d",k); for(k=0;k<=39;k++) printf("%s\n",shuzi[k]); printf("%d",l); for(l=0;l<=39;l++) printf("%s\n",qita[l]);}题目是输入5个串字符,把所有字符串中的字母、数字、其它字符分别存入一个字符数组中,然后输出它们以及字符个数。考查目标:双循环语句、选择控制、指针。要是觉得我的程序错的太多不好改,麻烦谁帮忙写个程序啊!!!
scanf("%s",a[i]) -> scanf("%s",&a[i])
for(i=0;i<=99;i++) åºè¯¥æ¯19ï¼ä½ a[5][20]ä¼å¯¼è´æº¢åº
å ¶ä»é误ï¼(p+i)>=a ->(p+i)>='a'å符åç
建议ï¼for(j=0;j<=39;j++) printf("%s\n",zimu[j]); -> ä¸è¦ç¨æ¢è¡ï¼åä¸æ°ç»å ï¼æ好æ¾ä¸è¡ï¼ç´è§
May the force with you,Come onï¼
#include<stdio.h>
int main()
{
char a[5][20];
char shuzi[40],zimu[40],qita[40];
char *p;
int i=0,j=0,k=0,l=0,m=0;
p=a[0];
for(i=0;i<=4;i++)
scanf("%s",&a[i]);
for(i=0;i<=19;i++)
{
if(*(p+i)<='z'&&*(p+i)>='a'||*(p+i)<='Z'&&*(p+i)>='A')
{
zimu[j]=*(p+i);
j++;
}
else if(*(p+i)<=9&&*(p+i)>=1)
{
shuzi[k]=*(p+i);
k++;
}
else
{
qita[l]=*(p+i);
l++;
}
}
printf("%d\n",j);
for(j=0;j<=39;j++)
printf("%c ",zimu[j]);
printf("\n");
printf("%d\n",k);
for(k=0;k<=39;k++)
printf("%c ",shuzi[k]);
printf("\n");
printf("%d\n",l);
for(l=0;l<=39;l++)
printf("%c ",qita[l]);
printf("\n");
return 0;
}