#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
char t[] = "*\n";
int i = 0;
int j = 0;
char *p[100] = {NULL};
char *p1 = NULL;
char s[30];
char c[100][30];
size_t cd[100];
bool b = false;
while(true)
{
fgets(s, 30, stdin);
if(strstr(s,t) == 0)
break;
*(cd+i) = strlen(s);
strcpy(c[i],s);
i++;
j++;
}
if(j == 0)
{
printf("sorre");
return 1;
}
for(i=0; i<j; i++)
{
p[i] = (char *)malloc(*(cd+i)+1);
strcpy(p[i],c[i]);
}
while(!b)
{
b = true;
for(i=0; i<j-1; i++)
if(cd[i] > cd[i+1])
{
b = false;
p1 = p[i];
p[i] = p[i+1];
p[i+1] = p1;
}
}
for(i=0; i<j; i++)
printf("%s", p[i]);
return 0;
}
为什么我的每次输出都是sorre
if(strstr(s,t) == 0)
break;
这个是不是有问题啊
是有一点问题,我给你改好了,你在输入的时候,每次末尾要加个* ,直到你想结束输入的时候,。我测试都好了,有问题再问我。
恩
追答题目的功能是什么,说一下
追问输入字符串个数没有限制 在将字符串分配动态内存 根据长度有短到长的顺序输出
"\n"这样算1个字符还是2个啊
C语言问题,大家帮个忙谢谢
解题思路(不考虑负数):根据数字大小判断是几位数。如果输入的是 0,则是 1 位数,正序、逆序都为 0。如果不是0,可以根据该数是几位数进行循环输出。这里提供了一种扩展性较强的算法,可以参考。代码中,k = 1000 表示当该数是 4 位数,然后通过循环来缩减 k 的值,从而从高到低输出每一位...
c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者%...
请懂c语言的帮个忙咯!!??
if(n==1||n==3||n==5||n==7||n==8||n==10||n==12)\/\/我设置每个月有31天,所以这几个月返回的需要扣除的天数就是0 return 0;\/\/返回的是需要扣除的天数,这几个月不需要扣除 else if(n==4||n==6||n==9||n==11)return 1;\/\/这几个月需要扣除一天 else if(n==2)\/\/...
C语言怎么计算直角三角形斜边,计算本息和
int main(){ float x,y,z;printf("请输入直角三角形两直角边边长:\\n");scanf("%f %f",&x,&y);z=sqrt(x*x+y*y); \/\/三角形斜边的平方等于两直角边长平方和,所以要求斜边只用 \/\/在两直角边平方和的基础上开方就行了 printf("斜边长为:%f\\n",z);return 0;} 运行结果如图:第4...
c语言的高手,帮个忙啊,本人现在没有财富值了,呜呜。。
2、先进行两个括号内的运算a>b为假,m=0。c>d为假,n=0。然后0交0为0所以k为0 3、char *p[] 其实是一个二维数组 其中p[0]存储的是“Chinese”,p[1]=“France",p[2]=“America”,p[3]=“Russia”。s输出的是一个字符串,输出p[1]存储的内容:France,c输出的是一个字符,所以...
请C语言大神帮个忙
int mat[max][max],vis[max][max];void dfs(int x,int y){ if(!mat[x][y] || vis[x][y]) return;vis[x][y]=1;dfs(x-1,y-1);dfs(x-1,y+1);dfs(x-1,y);dfs(x,y-1);dfs(x,y+1);dfs(x+1,y-1);dfs(x+1,y+1);dfs(x+1,y);} void main(){ int i...
c语言的一道swich 题目,帮个忙
main(){ int s,mark;printf("Please enter s :");scanf("%d",&s);mark=s\/1; \/*采用整除的方法,将mark的取值压缩到有限的取值范围内*\/ switch(mark){ case 10:printf("x=0\\n");break;case 9:printf("x=3\\n");break;case 8:printf("x=1\\n");break;case 7:printf("x=1\\...
c语言高手帮个忙~~~!!!做三个题,用C语言写,马上要交的,高悬赏...
1. #include <stdio.h> void main(){ int a[3][3];int i,j;int sum=0;int sum1=0;for( i=0; i<=2; i++){ for( j=0; j<=2; j++){ printf ("a[%d][%d]:", i+1, j+1);scanf ("%d",&a[i][j]);} printf("\\n");} for( i=0; i<=2; i++){ for...
c语言高手朋友们 进来帮个忙
我算了一下,到第二步后,结果只有126*126=15876种组合,是不是我的理解错了?我的理解是:从0123456789中分出5个数后,另5个数也就定了,所以只有C(10,5)=252个,其中有一半是前后相同的,所以只有126个,两组126个再两两组合,共有126*126=15876.按照这个思路,我写了一段程序,结果算...
C语言的几个判断题,求各位大侠帮助啊!
5、C语言中,用格式符“%s”输入字符数组时,数组名前不能加&;\/\/正确。6、函数原型说明中,省略形参变量或者将形参变量写成其它名称不影响程序的正确性。\/\/正确。7、实参向形参进行数值传递时,数值传递的方向是单向的,即形参变量值的改变不影响实参变量的值;\/\/正确。8、C语言中,结构的成员可以...