您的位置:

c语言shu,c语言输入字符串scanf

本文目录一览:

C语言数组 输入一个字符串,并将其中的字符’a’用字符串”shu”替代后输出。如输入为”123abcaHello”,

#include stdio.h

int main()

{

int i,j,k,m,n=0;

char a[81],s[4]="shu";

printf("请输入您要输入的字符串长度:");

scanf("%d",m);

printf("请输入您要输入的字符串:");

getchar();    //为消除回车键的影响

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

scanf("%c",a[i]);

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

{

if(a[i]=='a')

{                              // n=n+2, 删除了,没什么用

for(j=m-1;ji;j--)    // 由ji改为ji,表示i之后的都要移动。

a[j+2]=a[j];

j=i;

a[j]=s[0];

a[j+1]=s[1];

a[j+2]=s[2];

m=m+2;                    // 添加,添加字符后更新字符总数

}

}

for(k=0;km;k++)    //m+n改为m,m已经表示字符总数

printf("%c",a[k]);

printf("\n");            //输出完字符后换行

}

123abcaHello的结果为:

c语言,shu

你直接把代码 复制/粘贴 上来多好啊,就能帮你调试了。

最主要的错如下:

c=1/3; 应该改为 c=1.0/3;

c语言--键盘输入数字,输出汉字读法

#include stdio.h

#include stdlib.h

#include string.h

char *change(char ch)

{

static char shu[3];

memset(shu, 0, 3);

switch(ch)

{

case '1':strcpy(shu,"一");break;

case '2':strcpy(shu,"二");break;

case '3':strcpy(shu,"三");break;

case '4':strcpy(shu,"四");break;

case '5':strcpy(shu,"五");break;

case '6':strcpy(shu,"六");break;

case '7':strcpy(shu,"七");break;

case '8':strcpy(shu,"八");break;

case '9':strcpy(shu,"九");break;

case '0':strcpy(shu,"零");break;

default:printf("输入有误!");exit(0);

}

return shu;

}

char *func(char *s, int len)

{

int i, j;

char *dest;

char *shu;

char *wei[4]={"千","百","十",""};

dest = (char *)malloc(64);

memset(dest, 0, 64);

switch(len)

{

case 1:j=3;break;

case 2:j=2;break;

case 3:j=1;break;

case 4:j=0;break;

}

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

{

shu = change(*(s+i));

if( !(i0*(s+i-1)=='0'*(s+i)=='0') )

{

strcat(dest, shu);

if(*(s+i)!='0')

strcat(dest, wei[j+i]);

}

}

if( (strlen(dest)2) (strcmp(shu,"零")==0) )dest[strlen(dest)-2]='\0';

return dest;

}

int main()

{

int len;

char num[10];

char *hanzi, *tmp;

hanzi = (char *)malloc(64);

tmp = (char *)malloc(32);

printf("输入数字,1~99999999:");

gets(num);

len = strlen(num);

memset(hanzi, 0, 64);

memset(tmp, 0, 32);

if(len4)

{

hanzi = func(num, len-4);

strcat(hanzi, "万");

tmp = func(num+len-4, 4);

if(strcmp(tmp, "零")!=0)

strcat(hanzi, tmp);

}

else hanzi = func(num, len);

printf("汉字读法:");

puts(hanzi);

free(hanzi);

free(tmp);

return 0;

}

C语言中shu=H*256+L?

估计是从某一地址读取字节数据。H表示高位字节,L是低位字节。*256相当于左移8位,这样两个字节可以合并为一个字