㈠ 在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;
}