重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
创新互联建站主要从事成都网站建设、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务确山,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
#includestring.h
void Sort(char s[][51],int n) {
char t[51];
int i,j,k;
for(i = 0; i n - 1; ++i) {
k = i;
for(j = i + 1; j n; ++j) {
if(strcmp(s[k],s[j]) 0)
k = j;
}
if(k != i) {
strcpy(t,s[i]);
strcpy(s[i],s[k]);
strcpy(s[k],t);
}
}
}
int main() {
char s[][51] = {"continue","break","for","while","struct","swicth","edit","copy","past","please"};
int i,n = 10;
printf("排序前:\n");
for(i = 0; i n; ++i)
printf("%s\n",s[i]);
Sort(s,10);
printf("\n排序后:\n");
for(i = 0; i n; ++i)
printf("%s\n",s[i]);
printf("\n");
return 0;
}
首先你的string函数的函数类型没有指定,先定义为char*类型
同时你对str[SIZE]数组的初始化方式得到的每一个指针的类型为只读类型的指针(相当于加上了const关键字),所以初始化的时候改为如下这样的初始化方式吧。
然后main函数修改为
main(void)
{
char str[SIZE][30]=
{
{"Father"},
{"B"},
{"C"},
{"OK"},
{"Brother"}
};
for (i=0;iSIZE-1;i++)
{
printf("%s\n",string(str[i]));
}
}
我做了一些修改,下面的程序可以运行!你肯定是个初学者,所以不要急慢慢来,把基础的东西一定要搞懂.
我所做的修改主要有3点:
1、自定义函数不能在函数名后加分号(除非在函数说明时)
2、自定义函数如要放在主函数之后,则在主函数中一定要说明int
opp(int
x);
否则一定要放在主函数之前定义
3、printf()是格式化的输出函数,一定要给出输出格式,你的程序中是int型的所以用“%d”
最后建议你找一本c语言的书好好看看!
#include
int
opp(x)
{
int
r;
r=x+1;
return
(r);
}
main()
{
int
a=1,b;
b=opp(a);
printf("%d",b);
}
/*
排序前:
One-1 Two-2 Three-3 Four-4 Five-5 Six-6 Seven-7 Eight-8 Nine-9 Ten-10
排序后:
Two-2 Three-3 Ten-10 Six-6 Seven-7 One-1 Nine-9 Four-4 Five-5 Eight-8
Press any key to continue
*/
#include stdio.h
#include string.h
void sort(char *a[],int n) { // 选择排序
char *temp;
int i,j,k;
for(i = 0;i n - 1;i++) {
k = i;
for(j = i + 1;j n;j++)
if(strcmp(a[k],a[j]) 0) k = j;
if(k != i) { // 交换的是字符串的地址,不是字符串的内容
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
}
int main() {
int i,n = 10;
char *s[] = {"One-1","Two-2","Three-3","Four-4","Five-5","Six-6","Seven-7","Eight-8","Nine-9","Ten-10"};
printf("排序前:\n");
for(i = 0;i n;i++) printf("%s ",s[i]);
printf("\n\n");
sort(s,n);
printf("排序后:\n");
for(i = 0;i n;i++) printf("%s ",s[i]);
printf("\n\n");
return 0;
}
void fun(char a[])
{ int k=0,i,j;
char t;
while(a[k])
k++;//计算字符串长度
for(i=0;ik;i++)//冒泡排序
for(j=0;jk-1-i;j++)
if(a[j]a[j+1])
{t=a[j];
a[j]=a[j+1];
a[j+1]=t;}
}