一个c++中cout的问题(在线等)

2024-12-23 00:54:47
推荐回答(5个)
回答1:

实在不知道什么问题,但是我按照我的想法做了一下
输出以字母p结束
我作出来的能输入和显示
但是前提是不能调用你的函数(^_^得不偿失哈)
可能你的函数也有点问题
void main(){
char str[10] ;
char st ; int zishu;
int i=0,j=1;
WORD string[N];
cout<<"请输入文字:";
cin>>str[0];
while(!(str[i]=='p'))
{
cin>>str[j];
i++;
j++;
}
int m=0;
while(!(str[m]=='p'))
{
cout<m++;
}
//zishu=COUNT(str,string);
//cout<}

回答2:

for(zishu=0;str[0]!='\0';zishu++){
string[zishu].character =str[0];
for(i=0;str[0]!='\0';)
if(string[zishu].character == str[i]){
string[zishu].amount++;
for(j=i;str[0]!='\0';j++)
str[j]=str[j+1];
}
这里,不知道你for循环终止语句写 str[0] != '\0',是啥意思
按道理应该是 str[i] != '\0',才对

回答3:

程序越界破坏了栈导致程序崩溃了

估计在for(zishu=0;str[0]!='\0';zishu++){
这个循环里,你仔细找找吧

回答4:

有无数个错误

#include
#include
#include
#include

using namespace std;

#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define N 100
typedef int STATUS;
typedef int ELEMTYPE;

typedef struct
{
char character;
int amount;
}WORD;

int COUNT(char * str,WORD * string)
{
int i = 0, j = 0, k = 0, zishu=0;

for(zishu = 0; str[zishu]!='\0'; zishu++)
{
string[zishu].character = str[zishu];
string[zishu].amount = 1;

for(i = zishu + 1; str[i]!='\0';)
{
if(string[zishu].character == str[i])
{
string[zishu].amount++;

for(j = i; str[j]!='\0';j++)
{
str[j]=str[j+1];
}
}
else
{
i++;
}
}

}

string[zishu].character ='\0';

for(i=0;i {
cout<< string[i].amount< }

return zishu;
}

void main()
{
char str[10] ;
char st ; int zishu;
int i=0;
WORD string[N];
cout<<"请输入文字:";
while((st=getchar())!='\n')
{
str[i]=st;
i++;
}
str[i]='\0';
zishu=COUNT(str,string);
cout< getchar();
}

回答5:

for(zishu=0;str[0]!='\0';zishu++)
这是一个死循环
str[i] != '\0' 就对了
低级马虎错误 呵呵~