十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在scanf("%c\n",style);前加 char c; scanf("%c",c);
公司主营业务:成都做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出霍邱免费做网站回馈大家。
原因:前面输入数字时有输入回车 scanf把这个回车赋给了style 所以 要把先那个回车吃了
错的地方很多。。改了下,
#includestdio.h
int sort(int num[5]);
void main()
{
int numm[5],i,a;
for (i=0;i5;i++)
scanf("%d",numm[i]);
sort(numm); //调用排序
for (i=0;i5;i++)
printf("%d ",numm[i]);
}
int sort(int num[5])
{
int m,n,t;
for (m=0;m4;m++)
for(n=m+1;n5;n++)//冒泡排序
{
if (num[m]num[n])
{
t=num[n];
num[n]=num[m];
num[m]=t;
}
}
return 1;
}
我做了一些修改,下面的程序可以运行!你肯定是个初学者,所以不要急慢慢来,把基础的东西一定要搞懂.
我所做的修改主要有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);
}
思路:如果利用if进行三个数a,b,b的排序,则先利用if判断a和b的大小,把小数赋值给a大数赋值给b,再利用if判断c和b的大小,把小数赋值给b大数赋值给c,则c就是最大值,最后比较a和b的大小,把小数赋值给a大数赋值给b,则a就是最小数,b是中间值,输出a,b,c就是排序后数。
参考代码:
#include stdio.h
int main()
{
int a,b,c,t;
scanf("%d%d%d",a,b,c);
if(ab)//前判断a和b的大小
{t=b;b=a;a=t;}
if(bc)//再判断b和c的大小
{t=b;b=c;c=t;}
if(ab)//最后判断a和b的大小
{t=a;a=b;b=t;}
printf("%d%d%d",a,b,c);
return 0;
}
/*
输出:
5 1 9
159
*/
c语言通过函数调用实现选择排序法:
1、写一个简单选择排序法的函数名,包含参数。int SelectSort(int * ListData,int ListLength);
2、写两个循环,在循环中应用简单选择插入排序:
int SelectSort(int * ListData,int ListLength)
{
int i , j ;
int length = ListLength;
for(i=0;i=length-2;i++)
{
int k = i;
for(j=i+1;j=length-1;j++)
{
if(ListData[k]ListData[j])
{
k=j;
}
}
if(k!=i)
{
int tmp = ListData[i];
ListData[i] = ListData[k];
ListData[k] = tmp;
}
}
return 0;
}
3、对编好的程序进行测试,得出测试结果:
int main()
{
int TestData[5] = {34,15,6,89,67};
int i = 0;
printf("排序之前的结果\n");
for(i = 0;i5;i++)
printf("|%d|",TestData[i]);
int retData = SelectSort(TestData,5);
printf("排序之后的结果:\n");
for(i = 0;i5;i++)
printf("|%d|",TestData[i]);
return 0;
}
4、简单选择排序中,需要移动的记录次数比较少,主要的时间消耗在对于数据的比较次数。基本上,在比较的时候,消耗的时间复杂度为:n*n。
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;}
}