c语言编程题,急求解答,在线等!
展开全部
代码如下
#include <stdio.h>
#include <string.h>
typedef struct
{
char name[21];
int cnt;
}MAIL;
MAIL mail[100];
void new_mail(char *name)
{
int i;
for(i = 0; mail[i].cnt && i < 100; i ++)
{
if(strcmp(name, mail[i].name) == 0)
{
mail[i].cnt ++;
return;
}
}
if(i >= 100) return;
strcpy(mail[i].name, name);
mail[i].cnt ++;
}
void print(void)
{
int i;
for(i = 0; mail[i].cnt && i < 100; i ++)
printf("%s......%d\n", mail[i].name, mail[i].cnt);
}
int main()
{
char name[100];
int i;
while(scanf("%s", name) != EOF)
{
for(i = 0; name[i] != '@' && name[i]; i ++);
new_mail(&name[i+1]);
}
print();
return 0;
}
追问
太感谢了
展开全部
#include <stdio.h>
#include <string.h>
void TotalServerNum()
{
struct SServerNum
{
char szName[21];
int nNum;
};
SServerNum ServerNum[101];
char str[21];
int k = 0;
while(scanf("%s", str) != EOF)
{
char szName[21];
int j = 0;
int i = 0;
for(;str[i] != 0; i ++)
{
if(str[i] == '@')
{
i ++;
break;
}
}
for(; str[i] != 0; i ++)
szName[j ++] = str[i];
szName[j] = 0;
i = 0;
for(;i < k; i ++)
{
if(strcmp(szName, ServerNum[i].szName)== 0)
{
ServerNum[i].nNum ++;
break;
}
}
if( i == k)
{
ServerNum[k].nNum = 1;
strcpy(ServerNum[k].szName, szName);
k ++;
}
}
for(int i = 0; i < k ; i ++)
{
printf("%s......%d\n", ServerNum[i].szName, ServerNum[i].nNum);
}
}
int main()
{
TotalServerNum();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dtya@slave:~$ cat a.c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
static char a[64];
static char t[64];
static char server[128][64];
static int cnt[128];
int n=0;
int i,j,k;
while(gets(a))
{
for(i=0;a[i]!='@';i++);
for(i=i+1,k=0;a[i]!='\0';i++,k++) t[k]=a[i];
t[i]='\0';
for(j=0;j<n;j++)
{
if(strcmp(server[j],t)==0)
{
cnt[j]++;
break;
}
}
if(j==n)
{
n=n+1;
strcpy(server[j],t);
cnt[j]=1;
}
}
for(j=0;j<n;j++)
{
printf("%s......%d\n",server[j],cnt[j]);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询