
c语言在线求助!这个是我的大作业!!希望高手快点啊,很急的!
#defineN300#include<string.h>#include<stdio.h>voidmain(){inti,j=97;chars[N],letter[26...
#define N 300
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26];
printf("请输入一小段文本:");
scanf("%s",s);
printf("\n");
for(i=0;i<=26;i++)
letter[i]=0;
strlwr(s);
for(i=0;i<=N;i++)
switch(s[i]){
case'a': ++letter[0];break;
case'b': ++letter[1];break;
case'c': ++letter[2];break;
case'd': ++letter[3];break;
case'e': ++letter[4];break;
case'f': ++letter[5];break;
case'g': ++letter[6];break;
case'h': ++letter[7];break;
case'i': ++letter[8];break;
case'j': ++letter[9];break;
case'k': ++letter[10];break;
case'l': ++letter[11];break;
case'm': ++letter[12];break;
case'n': ++letter[13];break;
case'o': ++letter[14];break;
case'p': ++letter[15];break;
case'q': ++letter[16];break;
case'r': ++letter[17];break;
case's': ++letter[18];break;
case't': ++letter[19];break;
case'u': ++letter[20];break;
case'v': ++letter[21];break;
case'w': ++letter[22];break;
case'x': ++letter[23];break;
case'y': ++letter[24];break;
case'z': ++letter[25];break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
printf("%d个%c\n",letter[i],j);
j++;
}
} 展开
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26];
printf("请输入一小段文本:");
scanf("%s",s);
printf("\n");
for(i=0;i<=26;i++)
letter[i]=0;
strlwr(s);
for(i=0;i<=N;i++)
switch(s[i]){
case'a': ++letter[0];break;
case'b': ++letter[1];break;
case'c': ++letter[2];break;
case'd': ++letter[3];break;
case'e': ++letter[4];break;
case'f': ++letter[5];break;
case'g': ++letter[6];break;
case'h': ++letter[7];break;
case'i': ++letter[8];break;
case'j': ++letter[9];break;
case'k': ++letter[10];break;
case'l': ++letter[11];break;
case'm': ++letter[12];break;
case'n': ++letter[13];break;
case'o': ++letter[14];break;
case'p': ++letter[15];break;
case'q': ++letter[16];break;
case'r': ++letter[17];break;
case's': ++letter[18];break;
case't': ++letter[19];break;
case'u': ++letter[20];break;
case'v': ++letter[21];break;
case'w': ++letter[22];break;
case'x': ++letter[23];break;
case'y': ++letter[24];break;
case'z': ++letter[25];break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
printf("%d个%c\n",letter[i],j);
j++;
}
} 展开
4个回答
展开全部
#define N 300
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26]={0};
printf("请输入一小段文本:\n");
scanf("%s",&s); //s---&s
printf("\n");
strlwr(s);
for(i=0;i<N;i++) //i<N
switch(s[i]){
case'a': letter[0]++;break;
case'b': letter[1]++;break;
case'c': letter[2]++;break;
case'd': letter[3]++;break;
case'e': letter[4]++;break;
case'f': letter[5]++;break;
case'g': letter[6]++;break;
case'h': letter[7]++;break;
case'i': letter[8]++;break;
case'j': letter[9]++;break;
case'k': letter[10]++;break;
case'l': letter[11]++;break;
case'm': letter[12]++;break;
case'n': letter[13]++;break;
case'o': letter[14]++;break;
case'p': letter[15]++;break;
case'q': letter[16]++;break;
case'r': letter[17]++;break;
case's': letter[18]++;break;
case't': letter[19]++;break;
case'u': letter[20]++;break;
case'v': letter[21]++;break;
case'w': letter[22]++;break;
case'x': letter[23]++;break;
case'y': letter[24]++;break;
case'z': letter[25]++;break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
if(letter[i]>0)
printf("%d个%c\n",letter[i],j);
j++;
}
}
//你的程序会多1个a吧,我稍微修改了一下
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26]={0};
printf("请输入一小段文本:\n");
scanf("%s",&s); //s---&s
printf("\n");
strlwr(s);
for(i=0;i<N;i++) //i<N
switch(s[i]){
case'a': letter[0]++;break;
case'b': letter[1]++;break;
case'c': letter[2]++;break;
case'd': letter[3]++;break;
case'e': letter[4]++;break;
case'f': letter[5]++;break;
case'g': letter[6]++;break;
case'h': letter[7]++;break;
case'i': letter[8]++;break;
case'j': letter[9]++;break;
case'k': letter[10]++;break;
case'l': letter[11]++;break;
case'm': letter[12]++;break;
case'n': letter[13]++;break;
case'o': letter[14]++;break;
case'p': letter[15]++;break;
case'q': letter[16]++;break;
case'r': letter[17]++;break;
case's': letter[18]++;break;
case't': letter[19]++;break;
case'u': letter[20]++;break;
case'v': letter[21]++;break;
case'w': letter[22]++;break;
case'x': letter[23]++;break;
case'y': letter[24]++;break;
case'z': letter[25]++;break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
if(letter[i]>0)
printf("%d个%c\n",letter[i],j);
j++;
}
}
//你的程序会多1个a吧,我稍微修改了一下
展开全部
第一句#define N 300去掉。不知道用它什么意思。
把for(i=0;i<=N;i++)改成for(i=0;s[i];i++)
把for(i=0;i<=N;i++)改成for(i=0;s[i];i++)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-01-05
展开全部
#define N 300
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26];
printf("请输入一小段文本:");
scanf("%s",s);
printf("\n");
for(i=0;i<=26;i++)
letter[i]=0;
strlwr(s);
for(i=0;i<=N;i++)
switch(s[i]){
case'a': ++letter[0];break;
case'b': ++letter[1];break;
case'c': ++letter[2];break;
case'd': ++letter[3];break;
case'e': ++letter[4];break;
case'f': ++letter[5];break;
case'g': ++letter[6];break;
case'h': ++letter[7];break;
case'i': ++letter[8];break;
case'j': ++letter[9];break;
case'k': ++letter[10];break;
case'l': ++letter[11];break;
case'm': ++letter[12];break;
case'n': ++letter[13];break;
case'o': ++letter[14];break;
case'p': ++letter[15];break;
case'q': ++letter[16];break;
case'r': ++letter[17];break;
case's': ++letter[18];break;
case't': ++letter[19];break;
case'u': ++letter[20];break;
case'v': ++letter[21];break;
case'w': ++letter[22];break;
case'x': ++letter[23];break;
case'y': ++letter[24];break;
case'z': ++letter[25];break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
printf("%d个%c\n",letter[i],j);
j++;
}
}
#include <string.h>
#include <stdio.h>
void main()
{
int i,j=97;
char s[N],letter[26];
printf("请输入一小段文本:");
scanf("%s",s);
printf("\n");
for(i=0;i<=26;i++)
letter[i]=0;
strlwr(s);
for(i=0;i<=N;i++)
switch(s[i]){
case'a': ++letter[0];break;
case'b': ++letter[1];break;
case'c': ++letter[2];break;
case'd': ++letter[3];break;
case'e': ++letter[4];break;
case'f': ++letter[5];break;
case'g': ++letter[6];break;
case'h': ++letter[7];break;
case'i': ++letter[8];break;
case'j': ++letter[9];break;
case'k': ++letter[10];break;
case'l': ++letter[11];break;
case'm': ++letter[12];break;
case'n': ++letter[13];break;
case'o': ++letter[14];break;
case'p': ++letter[15];break;
case'q': ++letter[16];break;
case'r': ++letter[17];break;
case's': ++letter[18];break;
case't': ++letter[19];break;
case'u': ++letter[20];break;
case'v': ++letter[21];break;
case'w': ++letter[22];break;
case'x': ++letter[23];break;
case'y': ++letter[24];break;
case'z': ++letter[25];break;
}
printf("此文本中包含:\n");
for(i=0;i<=25;i++)
{
printf("%d个%c\n",letter[i],j);
j++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这么写不累吗?
#include "stdafx.h"
#include <iostream>
using namespace std;
#define NUMS 27
#define MAX 1000
int _tmain(int argc, _TCHAR* argv[])
{
char* pStr = new char[MAX];
int index=0;
while (char temp = std::cin.get())
{
pStr[index] = temp;
index++;
if (temp == '\n')
break;
}
pStr[index] = '\0';
// strlwr(pStr);
int letters[NUMS] = {0};
//统计
int id = 0;
while (pStr[id])
{
if (pStr[id] == ' ')
{
letters[NUMS-1] = letters[NUMS-1]+1;
}
else
letters[(int)(pStr[id]-'a')]=letters[(int)(pStr[id]-'a')]+1;
id++;
}
delete []pStr;
//输出
for (int temp = 0;temp < NUMS; temp++)
{
if (temp == NUMS-1)
std::cout<<"空格"<<" : "<< letters[NUMS-1] <<std::endl;
else
std::cout<<(char)('a'+temp)<<" : "<< letters[temp] <<std::endl;
}
return 1;
}
#include "stdafx.h"
#include <iostream>
using namespace std;
#define NUMS 27
#define MAX 1000
int _tmain(int argc, _TCHAR* argv[])
{
char* pStr = new char[MAX];
int index=0;
while (char temp = std::cin.get())
{
pStr[index] = temp;
index++;
if (temp == '\n')
break;
}
pStr[index] = '\0';
// strlwr(pStr);
int letters[NUMS] = {0};
//统计
int id = 0;
while (pStr[id])
{
if (pStr[id] == ' ')
{
letters[NUMS-1] = letters[NUMS-1]+1;
}
else
letters[(int)(pStr[id]-'a')]=letters[(int)(pStr[id]-'a')]+1;
id++;
}
delete []pStr;
//输出
for (int temp = 0;temp < NUMS; temp++)
{
if (temp == NUMS-1)
std::cout<<"空格"<<" : "<< letters[NUMS-1] <<std::endl;
else
std::cout<<(char)('a'+temp)<<" : "<< letters[temp] <<std::endl;
}
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询