学渣,典型的学渣,这道题班上的挂了99%,神奇!
我们刚学习了冒泡法,就是一群C语言刚出道的菜鸟,然后老师说今天考试就做一道题,顿时就乐了,这老师就是好,考一道题。后来才知道,我们上当了。不要人活得节奏(现在的我而言)。
大致应该是这样的,考完我也懵了, 输入十个人的手机号码按照由小到大的顺序后输出。
我的过程是这样的,
1 手机号有十一位,我定义的是 int 运行时出错,后来我发现原来 int的范围为-2147483647~2147483647,超出范围。
2 马上想到用二维数组。
后来。。。。。。。。
我想学习一下各位大神的新颖思维方式,拜谢!
#include<stdio.h>
#include<string.h>
int main()
{
char c[10][11],k;
int i,cmp,j;
printf("请输入十个号码:");
for(j=0;j<=9;j++)
scanf("%s",c[j]);
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
cmp=strcmp(c[j],c[j+1]);
if(cmp>0)
{
k=c[j+1];
c[i+1]=c[j];
c[j]=k;
}
}
}
for(j=0;j<=9;j++)
printf("请输出各号码:%s\n",c[i]);
return 0;
}
这是我写的,提示不能用字符串来赋值交换,我真的不知道怎么办了。
[ 本帖最后由 寒冷枫dl 于 2013-11-27 00:16 编辑 ]