新网创想网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

c语言不用函数输出字典序 c语言不用printf输出

C语言不用库函数,如何实现输入输出?

打开include.h头文件。

建平网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

找到有定义输入输出的语句,写在前面。后面直接用就行了,至于是哪一句我也没有研究过。

其实很多头文件都有输入输出功能,那你就多找几个试试。

c语言 输入10个单词,按字典顺序输出 不要复制不对的过来啊

#include "stdio.h"

#include "string.h"

int main()

{

char str[10][30]={0};

char tem[30]={0};

int i,j;

printf("请输入10个单词:");

for(i=0;i10;i++)//输入

    scanf("%s",str[i]);

for(i=0;i9;i++)//排序

  for(j=i+1;j10;j++)

      if(strcmp(str[i],str[j])0)

      {

            strcpy(tem,str[i]);

            strcpy(str[i],str[j]);

            strcpy(str[j],tem);

     }

printf("这10个单词按照字典排序输出为:\n");

for(i=0;i10;i++)// 输出

{

    printf("%s\n",str[i]);

}

}

c语言怎么不用strcmp按字典顺序对多个字符串排序

自己做strcmp和strcpy子函数,或者把能实现相同功能的子函数模块用for循环来处理

strcmp子函数的功能是比较str1和str1字符串的每个字符

用一个for循环来实现这个功能的

功能实现,模拟着函数

void

mystrcmp(char

*str1,char

*str2)

{

int

i;

for(i=0;str1[i]||str2[i];i++)

if(str1[i]str2[i])

retrun

-1;

else

if(str1[i]str2[i])

return

1;

return

0;

}

strcpy拷贝子函数也是用一个for循环来实现的

void

mystrcpy(char

*str1,char

*str2)

{

int

i=0;

while(str1[i]=str2[i])

i++;

}

你完全可以把这个功能模块用着相应的位置

for(i=0;in-1;i++)

{

for(j=i+1;jn;j++)

{

排序大循环没问题

for(;kl;k++)

{

if(*(str[i]+k)!=*(str[j]+k))

//你这里只是判断了不相等的情况,大小没有判断

这一块应该是比较部分吧,感觉应该不对

应该是

for(k=0;str[i][k]||str[j][k];k++)

{

if(str[i][k]str[j][k])

//也可以用指针,大了就交换,小了或等于不交换

交换代码

}

l=min(strlen(str[i]),strlen(str[j]));

这一句完全可以用l=strlen(str[i])strlen(str[j])?strlen(str[i]):strlen(str[j]);

不用子函数,或者一个if--else来解决

temp=str[j];

str[j]=str[i];

str[i]=temp;

这是交换的代码,字符串不能这么交换,可以用strcpy拷贝函数,或者字符一个一个的交换

不能整个字符串用=来赋值

C语言关于自守数的字典序输出

#includestdio.h

long Re0(long a);

int Fact(int a);

main()

{

long array[1000];

char str[1000][1000];

char t[1000];

int m = 0;

int k = 0;

int j;

long p=0,chino,i,guess;

scanf("%ld",chino);

for(i=1;i=chino;i++)

{

guess=Re0(i);

if(guess==i)

{

array[k++] = i;

}

}

for(i = 0; i k ;i++)

{

sprintf(str[i],"%d",array[i]);

}

 for (i = 0; i  k - 1; i++) //将字符串排序

{

for (j = 0; j  k - 1 - i;j++)

if (strcmp(str[j], str[j + 1])  0)

{

strcpy(t, str[j]);

strcpy(str[j], str[j + 1]);

strcpy(str[j+1], t);

}

}

for (i = 0; i  k; i++)  //输出

{

if(i == k-1)

printf("%s",str[i]);

else

printf("%s ",str[i]);

}

}

int Fact(int a)

{

if(a==0||a==1)

return 1;

else if(a1)

return a*Fact(a-1);

}

long Re0(long a) //计算各个位数之和

{

long sum;

int A,B,C,D,E; //分别为个位、十位、百位、千位、万位

if(a10)

return Fact(a);

else if(a=10a100)

{

A=a%10;

B=a/10;

sum=Fact(A)+Fact(B);

return sum;

}

else if(a=100a1000)

{

A=a%10;

B=a%100/10;

C=a/100;

sum=Fact(A)+Fact(B)+Fact(C);

return sum;

}

else if(a=1000a10000)

{

A=a%10;

B=a%100/10;

C=a%1000/100;

D=a/1000;

sum=Fact(A)+Fact(B)+Fact(C)+Fact(D);

return sum;

}

else if(a=10000a100000)

{

A=a%10;

B=a%100/10;

C=a%1000/100;

D=a%10000/1000;

E=a/10000;

sum=Fact(A)+Fact(B)+Fact(C)+Fact(D)+Fact(E);

return sum;

}

}


当前题目:c语言不用函数输出字典序 c语言不用printf输出
网站链接:http://wjwzjz.com/article/dosshco.html
在线咨询
服务热线
服务热线:028-86922220
TOP