㈠ 在c语言中怎么输入一个字符串
在c语言中存储一个字符串,一般有两种方法,一种是字符指针,一种是使用字符数组。比如:
const char *str = "hello"; //使用字符串指针
const char str[] = "hello"; //使用字符数组
如果保存的字符串,需要修改。一般使用字符数组。比如:
char path[256] = "c:\\windows\\";
strcat(path, "system32");
㈡ c语言 如何从键盘输入字符串
c语言从键盘输入字符串的步骤如下:
1.首先我们新建一个dev C++的项目。
㈢ c语言实现用户指令实现 用户输入字符串 然后根据要求执行 怎么做呢
以下代码可以做你要的加减乘除运算,变量名可以任意输入,可以有N个变量名,运算符和变量之间还可以空格,比如 :
i=1
j = i
print j
abc=22
j=i * abc
print j
print "helloworld"
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<vector>
usingnamespacestd;
typedefstruct{
intvar;
charvarname[128];
}Variable;
std::vector<Variable>Var;
//判断变量还是数值
intisVarName(char*p)
{
if(p[0]<'0'||p[0]>'9')return1;
return0;
}
//去掉前后空格
char*FilterSpace(char*p)
{
inti;
while(*p=='')p++;//跳过前面的空格
i=strlen(p);
while(i&&p[i-1]==''){p[i-1]=0;i--;}//去掉后面的空格
returnp;
}
//取变量int值
intgetInt(char*p)
{
p=FilterSpace(p);
if(isVarName(p))
{
for(inti=0;i<Var.size();i++)
{
if(!strcmp(p,Var[i].varname))
{
returnVar[i].var;
}
}
}
else
{
returnatol(p);
}
return0;
}
//显示
voidprint(char*p)
{
char*t;
p=FilterSpace(p);
if(p[0]!='"')
{
printf("%d ",getInt(p));
return;
}
t=strstr(p+1,""");
if(!t)
{
printf("error!");
return;
}
*t=0;
printf(p+1);
printf(" ");
}
//运算操作
voidOperation(char*p)
{
intn1,n2;
char*t;
Variable*v;
t=strstr(p,"=");
if(t)
{
v=NULL;
*t=0;
p=FilterSpace(p);
if(!isVarName(p))
{
printf("不能赋值给数值 ");
return;
}
for(inti=0;i<Var.size();i++)
{
if(!strcmp(p,Var[i].varname))
{
v=&Var[i];
break;
}
}
if(!v)
{
VariablenewV;
if(strlen(p)>sizeof(newV.varname))
{
printf("变量名不能大于%d个字符 ",sizeof(newV.varname));
return;
}
newV.var=0;
strcpy(newV.varname,p);
Var.push_back(newV);
v=&Var[Var.size()-1];
}
p=t+1;
t=strstr(p,"+");
if(t)
{
//加法运算
*t=0;
n1=getInt(p);
n2=getInt(t+1);
v->var=n1+n2;
//printf("%s=%d ",v->varname,v->var);//若要立即显示结果就加上本行
return;
}
t=strstr(p,"-");
if(t)
{
//减法运算
*t=0;
n1=getInt(p);
n2=getInt(t+1);
v->var=n1-n2;
//printf("%s=%d ",v->varname,v->var);//若要立即显示结果就加上本行
return;
}
t=strstr(p,"*");
if(t)
{
//乘法运算
*t=0;
n1=getInt(p);
n2=getInt(t+1);
v->var=n1*n2;
//printf("%s=%d ",v->varname,v->var);//若要立即显示结果就加上本行
return;
}
t=strstr(p,"/");
if(t)
{
//除法运算
*t=0;
n1=getInt(p);
n2=getInt(t+1);
v->var=n1/n2;
//printf("%s=%d ",v->varname,v->var);//若要立即显示结果就加上本行
return;
}
//赋值
v->var=getInt(p);
return;
}
}
voidmain()
{
charcmdstr[1024];
while(1)
{
printf(">>");
gets(cmdstr);
if(!strncmp(cmdstr,"print",5))
{
print(cmdstr+5);
}
elseif(!strcmp(cmdstr,"exit"))//输入exit退出
{
return;
}
elseif(strstr(cmdstr,"="))
{
Operation(cmdstr);
}
}
}
㈣ 编写c语言程序,要求用户输入一个字符串,程序将字符串字母反序输出.即如果输入为abcd,则输出为dcba.
#include<stdio.h>
#include<string.h>
int main()
{
char str[20],c;
int i,n;
printf("str=");
gets(str);
n=strlen(str);
for(i=0;i<n/2;i++)
{
c=str[i];
str[i]=str[n-i-1];
str[n-i-1]=c;
}
puts(str);
return 0;
}
㈤ c语言如何让用户自行输入字符串,以此字符串作为文件名创建文件
char filename[255];scanf("%s",filename);fopen(filename,"a+");就可以建立了。。
㈥ vs2013中c语言创建以输入的字符串为文件名的文件
charfilename[100],*q;
scanf_s("%s",filename,10);
strcat(filename,".txt");
fopen_s(&p,filename,"wb");
这样写,strcat函数可能要加上#include<string.h>头文件
㈦ c语言中怎么定义并输入一个字符串
可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。
下面通过举例来分别进行说明:
1
2
3
4
5
char str1[] = "HelloWorld"; // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char *str2 = "HelloWorld"; // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld"; // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
㈧ C语言程序设计,用户输入一个字符串,一个字符,统计该字符在字符串中出现的次数。写出程序,加急
#include<stdio.h>
main()
{char s[99],c;
int i=0,n=0;
printf("输入字符串(按Enter结束):\n");
gets(s);
printf("输入字符(按Enter结束):");
c=getchar();
for(i=0;i<99;i++)
{if(c==s[i])
n++;
}
printf("字符串%s中字符%c出现%d次",s,c,n);
}
//看时间,你是用不到了,留个要学习的看吧。(字符串中可能有空格,所有不要用scanf函数for循环获取)
㈨ c语言编写:将用户输入的字符串翻译成密码串:规则如下
a b c d e f g h i j
例子里输入ab,cd
a是第1个字符,那么换成a后面第1个,也就是b
b是第2个字符,那么换成b后面第2个,也就是d
到这里都没错
c是第4个字符,那么换成后面第4个,也就是g,为什么题目示例是h???
#include <stdio.h>
#include <ctype.h>
int main()
{
int i=0;
char str[1001];
fgets(str,1000,stdin);
while(str[i]){
if(islower(str[i]))
str[i]=97+(str[i]+i-96)%26;
else if(isupper(str[i]))
str[i]=65+(str[i]+i-64)%26;
i++;
}
puts(str);
return 0;
}