C语言:字符串输入与输出相关问题

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:8972万
展开全部

getchar和putchar都是对字符操作的,而不是字符串,所以需要设计循环为字符串中每一个字符赋值。

以下是示例代码,需要说明的一点是gets输入字符串对于字符串长度没有限制,可能导致越界溢出,不安全,建议改用fgets,另外在新的微软标准中gets函数已被gets_s函数代替,希望对你有帮助。

include<stdio.h>intmain(){ const int count=21;

charstr1[count];charstr2[count];charch;printf("请str1输入字符串(getchar方式):\n");int i=0;while((ch=getchar())!'\n'){ str1[i]=ch;i+;if(i=count-1){ str1[count-1]='\0';break;} }

str1[i+]='\0';printf("下面输出str1(putchar方式):\n");int j=0;while(str1[j]!'\0'){putchar(str1[j]);j+;}/printf

("请str1输入字符串(gets方式):\n");gets(str2);printf("下面输出str1(puts方式):\n");puts(str2);return0;}

1.#include"stdio.hmain(){charc;int letters=0,space=0,digit=0,others=0;printf("pleaseinputsome characters\n");while((c=getchar())!'\n'){

if(c>='a'&c|c>='A'&c)

letters+;else if(c=' ')space+;else if(c>='0'&c)

digit+;else

others+;}printf("all in all:char=dspace=d digit=d others=d\n",letters,space,digit,others);}

2.#include"stdio.hmain()

{

int a,n,count=1;long int sn=0,tn=0;printf("pleaseinputa and n\n");scanf("%d,%d",&a,&n);printf("a=d,n=d\n",a,n);while(count)

{

tn=tn+a;sn=sn+tn;a=a*10;count;}printf("a+aa+.=ld\n",sn);}

3.#include"stdio.hmain()

{

int a[11]={1,4,6,9,13,16,19,28,40,100};inttemp1,temp2,number,end,i,j;printf("originalarrayis:\n");for(i=0;i;i+)printf("%5d",a[i]);printf("\n");printf("inserta newnumber:");scanf("%d",&number);end=a[9];if(number>end)

a[10]=number;else

{for(i=0;i;i+){ if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j;j+){temp2=a[j];a[j]=temp1;temp1=temp2;}

break;}

}

}

for(i=0;i;i+)printf("%6d",a[i]);}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式