在C语言中如何实现用键盘输入一个字符串,并打印出来? C语言中如何实现输入一个字符串再输出该字符串?
\u5728C\u8bed\u8a00\u7f16\u8bd1\u5668\u4e2d\u5982\u4f55\u5b9e\u73b0\uff1a\u8f93\u5165\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u6253\u5370\u51fa\u8be5\u5b57\u7b26\u4e32\u4e2d\u5b57\u7b26\u7684\u6240\u6709\u6392\u5217\u3002#include void Permutation(char*a,char*current);int main(){char s[30]="abc";Permutation(s,s);return 0;}void Permutation(char*a,char*current){if(*current=='\0')printf("%s\n",a);for(char*next=current;*next!='\0';next++){char tem=*current;*current=*next;*next=tem;Permutation(a,current+1);tem=*current;*current=*next;*next=tem;}}
#include
#include
void main()
{
char *p;
gets(p);
puts(p);
}
\u53ef\u5e94\u8be5\u5982\u4f55\u624d\u80fd\u5b9e\u73b0\u8f93\u5165\u4e24\u4e2a\uff0c\u8f93\u51fa\u4e24\u4e2a\u5462\uff1f
#include
#include
void main()
{
char *p,*q;
gets(p);
puts(p);
printf("\n");
gets(p);
q=p;
puts(q);
}
在C语言中输入字符串后然后打印出来的编程方法如下:
1.首先需要先定义一个存放字符串的数组空间,如给字符串100个数组空间。
2.接着使用gets()函数来获取键盘输入的字符串。一般格式为gets(定义的字符数组名)。
3.然后再使用puts()函数来输出之前输入的字符串内容。一般格式puts(定义的字符数组名)。
4.最终运行程序,即可成功实现输入字符串,然后原样在屏幕中输出字符串。
扩展资料:
1.gets从标准输入设备读字符串函数,其可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。
2.puts()函数用来向标准输出设备(屏幕)输出字符串并换行,具体为:把字符串输出到标准输出设备,将'\0'转换为回车换行。其调用方式为,puts(s);其中s为字符串字符(字符串数组名或字符串指针)。
参考资料:
百度百科-gets
百度百科-puts
在C语言中实现用键盘输入一个字符串,并打印出来,代码如下:
#include <stdio.h>
void main()
{
char array[100];
printf("please input the string:
");
scanf("%s", array);
printf("%s
",array);
}
扩展资料:
键盘输入一个字符串打印出来,用java语言实现:
public static void main(String[] args) {
System.out.println("请输入字符串:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();
System.out.println(str);
}
catch (IOException e) {
e.printStackTrace();
}
}
在C语言中实现用键盘输入一个字符串,并打印出来的解决方法如下:
1、首先定义一个字符串数组,如你可以给字符串100个数组空间。如图括号内数字即为你定义的数组大小。
2、gets()函数用来获取键盘输入的字符串,括号内的s即为字符串变量。
3、接着用puts()函数输出之前我们从键盘读取的字符串。括号内为字符串数组的名字,要与前面的保持一致。
4、然后点击运行,得到以下结果即为正确。
扩展资料:
字符数组的输出:
(1)用putchar()或printf()的‘%c’格式符对数组进行字符赋值。例如,对于数组a[10]:用putchar()赋值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()赋值:
for(i=0;i<10;i++)
printf("%c",a[i]);
输出结果为:
c program [2]
(2)用printf()的'%s'格式对数组赋值。还是对于数组a[10];
printf("%s",a);
输出结果为:
c program
参考资料来源:
百度百科-char
百度百科-字符数组
乱码的产生是因为你未初始化sf[100]
修改为:
#include
#include //strlen的调用
main()
{
int n,i;
char a[20]={0}; //初始化数组
printf("please input a string:");
gets(a); //从键盘读入字符串
n=strlen(a); //计算输入的数组长度
printf("%d
",n);
for(i=n-1;i>=0;i--)
putchar(a[i]); //倒序输出字符串
putchar('
');
}
拓展资料
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
首先,你代码中有一个逻辑错误,即char sf;这是定义单字符,而想要定义字符串可使用字符数组,即将char sf;改为 char sf[101] 即可。(数组大小可根据字符串大小需求进行更改)
正确代码:
#include<stdio.h>
void main()
{
char sf[101];
scanf("%s",&sf);
printf("%s",sf);
getch();//这行可删可不删
}
扩展内容:
字符数组:
字符数组是指用来存放字符数据的数组。其定义的一般形式为: char 数组名[数据长度] 。字符数组用于存放字符或字符串,字符数组中的一个元素存放一个字符,它在内存中占用一个字节。C语言中没有字符串类型,字符串是存放在字符型数组中的
用来存放字符数据的数组称为字符数组。字符数组中的一个元素存放一个字符。定义字符数组的方法与定义数值型数组的方法类似。
字符数组定义:
其定义的一般形式是:char 数组名[数据长度]
例如:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定义了c为字符数组,包含10个元素。
由于字符型数据是以整数形式(ASCII代码)存放的,因此也可以用整型数组来存放字符数据,例如:
int c[10];
但这时每个数组元素占2个字节的内存单元,浪费存储空间。 [1]
字符数组也可以是二维或多维数组,例如:
char c[5][10];
即为二维字符数组。
资料参考:字符数组 - 百科
绛旓細include<stdio.h> include<stdlib.h> int main(){ int strSize = 100;char *str = (char *)malloc(sizeof(char) * strSize);int charNum = 0;char input;//閫愪釜瀛楃杈撳叆瀛楃涓诧紝鍙互杈撳叆int鍙互琛ㄧず鐨勬渶澶у间釜瀛楃 printf("璇疯緭鍏ヤ换鎰忎釜瀛楃:\n");while(true){ scanf("%c",&input);...
绛旓細include <stdio.h> int main(){ char c,cn;char s[100];char* p=s;printf("杈撳叆鏂囨湰锛歕n");gets(s); //杈撳叆this is a c program printf("杈撳叆闇瑕佹浛鎹㈠瓧绗﹀拰鏇挎崲鎴愬瓧绗︼紝鏍煎紡: 鑰佸瓧绗 绌烘牸 鏂板瓧绗︼細\n");scanf("%c %c",&c,&cn); // 杈撳叆i a for(; *p; p++)if(*p==c...
绛旓細include <stdio.h>int Func(int n){if(n < 2)return 1;else return n*Func(n-1);} void main(){int n =0,m=0;printf("璇杈撳叆涓涓鏁存暟锛")scanf("%d",&n);m=Func(n);printf("%d!=%d\n",n,m);} 鍦ㄤ互涓婄▼搴忎唬鐮佷腑锛孎unc锛堬級涓洪掑綊鍑芥暟锛屼富鍑芥暟main锛堬級涓帴鏀閿洏杈撳叆鏁存暟...
绛旓細include<stdio.h> int main(void){ int month,year,day,sum,i=0;printf("杈撳叆骞存湀鏃:\n");scanf("%d %d %d",&year,&month,&day);switch(month){ case 12: i=i+30;case 11: i=i+31;case 10: i=i+30;case 9: i=i+31;case 8: i=i+31;case 7: i=i+30;case 6: i=i...
绛旓細鐒跺悗鐢╞鍔犱笂32鍗冲彲寰楀埌灏忓啓瀛楁瘝锛屽師鍥犲氨鏄敱浜庡ぇ鍐欏瓧姣嶄笌灏忓啓瀛楁瘝涔嬮棿鐨勫樊鍊间负 32锛屽洜姝ゅ皢灏忓啓瀛楁瘝鐨 ASCII 鐮佸 鍔犱笂32锛屼究鍙緱鍒颁笌涔嬪搴旂殑澶у啓瀛楁瘝銆傛渶鍚庢墦鍗扮粨鏋滃嵆鍙細3銆佽繍琛岀紪璇戠▼搴忥紝杩欓噷杈撳叆浠绘剰涓涓瓧姣嶆寜涓嬪洖杞︼紝鍗冲彲鎵撳嵃鍑哄鐞嗗悗鐨勫皬鍐欏瓧姣嶃備互涓婂氨鏄鐢–璇█澶勭悊澶у啓杞皬鍐欑殑绀轰緥锛...
绛旓細include<stdio.h> void main(){ char c;int a;scanf("%c",&c);a=int(c);printf("%d",a);}
绛旓細include <stdio.h> void erase(char str[]){ int index=0,i=0;while(*(str+index)!='\0'){ if(index%2==0){ if(*(str+index+1)!='\0'){ (str+i)=*(str+index+1);i++;} else { (str+i)=*(str+index+1);} } else { if(*(str+index+1)=='\0'){ (str+i)=...
绛旓細鏂囦欢鎿嶄綔鍑芥暟涓鑸互f+鍗曡瘝鐨勫舰寮忔潵鍛藉悕(f鏄痜ile鐨勭畝鍐)锛屽叾澹版槑浣嶄簬stdio.h澶存枃浠跺綋涓備緥濡傦細fopen銆乫close鍑芥暟鐢ㄤ簬鏂囦欢鎵撳紑涓庡叧闂紱fscanf銆乫gets鍑芥暟鐢ㄤ簬鏂囦欢璇诲彇锛沠printf銆乫puts鍑芥暟鐢ㄤ簬鏂囦欢鍐欏叆锛沠tell銆乫seek鍑芥暟鐢ㄤ簬鏂囦欢鎿嶄綔浣嶇疆鐨勮幏鍙栦笌璁剧疆銆備竴鑸鐨凜璇█鏁欑▼閮芥湁鏂囦欢鎿嶄綔涓绔狅紝鍙互鎵炬湰鏁欐潗杩涗竴姝ュ涔犮
绛旓細include "stdio.h"main(){ int n;printf("杈撳叆涓涓崄杩涘埗鏁存暟:\n");scanf("%d",&n);if(n>60)printf("鎴愬姛!");else printf("澶辫触!");}
绛旓細include <stdio.h> void main(void){ int a[10];int data=0;int i=0;for(i=0;i<10;i++)a[i]=i+1;scanf("%d",&data);for(i=0;i<10;i++){ if(data==a[i])printf("%d鍦ㄦ暟缁勯噷\n",data);} if(i==10)printf("%d涓嶅湪鏁扮粍閲孿n",data);} ...