C语言编程序界面出现了runtime error 5
题目:给你N个单词,按字典序输出每个单词和它出现的次数输入:第一行为一个整数N,表示有N个单词接下来每行一个单词(每个单词的长度不超过20)输出:按字典序输出每个单词和它...
题目:给你N个单词,按字典序输出每个单词和它出现的次数
输入:
第一行为一个整数N,表示有N个单词
接下来每行一个单词(每个单词的长度不超过20)
输出 :
按字典序输出每个单词和它出现的次数,中间用一空格隔开
样例输入:
6
ll
erbao
ahanhan
erbao
llswife
aha 样例输出 :aha 1
ahahan 1
erbao 2
ll 1
llswife 1 我编的代码:
#include <stdio.h>
#include <string.h>
int main()
{
void sort(char * name[],int n);
void print(char * name[],int n);
char * name[10000];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",&name[i]);
sort(name,n);
print(name,n);
return 0;
}
void sort(char *name[],int n)
{
char *temp1;
int temp2;
int i,j,k;
int c[10000]={0};
for(i=0;i<n;i++)
{
for(k=0;k<n;k++)
{
if(name[i]=name[k])
{
c[i]=c[i]+1;
for(;k<n;k++)
name[k]=name[k+1];
n=n-1;
}
}
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0)k=j;
if(k!=i)
{
temp1=name[i];name[i]=name[k];name[k]=temp1;
temp2=c[i];c[i]=c[k];c[k]=temp2;
}
}
}
void print(char*name[],int n)
{
int i;
int c[10000];
for(i=0;i<n;i++)
printf("%s %d\n",name[i],c[i]);
}
还有就是我编程序经常会出现runtime error 是怎么回事 展开
输入:
第一行为一个整数N,表示有N个单词
接下来每行一个单词(每个单词的长度不超过20)
输出 :
按字典序输出每个单词和它出现的次数,中间用一空格隔开
样例输入:
6
ll
erbao
ahanhan
erbao
llswife
aha 样例输出 :aha 1
ahahan 1
erbao 2
ll 1
llswife 1 我编的代码:
#include <stdio.h>
#include <string.h>
int main()
{
void sort(char * name[],int n);
void print(char * name[],int n);
char * name[10000];
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",&name[i]);
sort(name,n);
print(name,n);
return 0;
}
void sort(char *name[],int n)
{
char *temp1;
int temp2;
int i,j,k;
int c[10000]={0};
for(i=0;i<n;i++)
{
for(k=0;k<n;k++)
{
if(name[i]=name[k])
{
c[i]=c[i]+1;
for(;k<n;k++)
name[k]=name[k+1];
n=n-1;
}
}
}
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(name[k],name[j])>0)k=j;
if(k!=i)
{
temp1=name[i];name[i]=name[k];name[k]=temp1;
temp2=c[i];c[i]=c[k];c[k]=temp2;
}
}
}
void print(char*name[],int n)
{
int i;
int c[10000];
for(i=0;i<n;i++)
printf("%s %d\n",name[i],c[i]);
}
还有就是我编程序经常会出现runtime error 是怎么回事 展开
展开全部
LZ你有两个地方有问题: (1)fun函数里面两个for循环控制变量有问题,应改为下面这种形式: for(i=0;i<2;i++) for(j=0;j<M;j++) { if(a[i][j]>max) max=a[i][j]; } (2)输出的时候也有问题,fun函数返回值是int,所以应该是: printf("\nThe value of function is:%d\n",fun(arr));
追问
你回答的好像不是这个题吧。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询