① c语言 输入一个长度为10的字符串,
#include<stdio.h>
intmain()
{
charpsw[11];
inti;
printf("输入10个字符:");
scanf("%s",psw);
printf("输出:
");
for(i=0;i<10;i++)
{
if((psw[i]>='a'&&psw[i]<='z')||(psw[i]>='A'&&psw[i]<='Z'))
{
if(i==2)
psw[i]='E';
elseif(i==7)
psw[i]='e';
else
psw[i]=psw[i]<=90?psw[i]+32:psw[i]-32;//大写变小写,小写变大写
}
}
psw[10]=0;
printf("%s
",psw);
return0;
}
② C语言如何将一个数字组成的字符串转变成十进制数
办法很多,提供三种供参考。
一、直接使用库函数atoi将数字字符串转换成十进制整数。代码如下:
#include"stdio.h"
#include"stdlib.h"//调用库函数atoi要包含这个文件
intmain(intargc,char*argv[]){
chara[]="478167831";
printf("%d ",atoi(a));//直接调用atoi将a转换为十进制整数
return0;
}
二、用库函数sscanf直接将数组中的数字字符串读入十进制整型变量。代码如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx;
sscanf(a,"%d",&x);//调用sscanf,读入时自动转换为int型并由%d控制以十进制赋给变量x
printf("%d ",x);//输出
return0;
}
三、自行编写转换代码:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx,i;
for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字符与数字的关系是"字符值-'0'==同名数字"
printf("%d ",x);//输出
return0;
}
上述三代码的输出结果如下图:
③ c语言字符串长度有哪些
这个字符串长度为10个字符。
可以用strlen("ab'1'\12803")来求这个字符串的长度。
也可以用sizeof("ab'1'\12803")来求,但是这个求出的结果是多了一个字符串结束符 。
可以试着输出这个字符串看看是不是10个字符。
strlen()函数判断的字符串长度是以 为结尾作为标志的。
当char * m=new char[TOKEN_LENGTH]后,虽然为指针分配了地址,但是其指向的内容未被初始化,所以m指向的内容是未知的,可能在第24个字符的位置发现了 所以strlen()显示长度为24。
数据类型
字符串数据类型是建模在形式字符串的想法上的数据类型。字符串是几乎在所有编程语言中可以实现的非常重要和有用的数据类型。在某些语言中它们可作为基本类型获得,在另一些语言中做为复合类型获得。多数高级语言的语法允许通常用某种方式引用起来的字符串来表示字符串数据类型的实例;这种元字符串叫做“文本”或“字符串文本”。
以上内容参考:网络-字符串
④ c语言中,将字符转换为十进制的程序
字符转为10进制 用sscanf或者用atoi均可
以字符串中, 本身为10进制字符串为例
用sscanf程序如下:
#include<stdio.h>
intmain()
{
chars[20];
inti;
scanf("%s",s);
sscanf(s,"%d",&i);
printf("%d ",i);
return0;
}
⑤ C语言 十六进制字符串转十进制
#include<stdio.h>
#include<string.h>
voidmain()
{
inti=0,j=0,result=0,index=0,cindex=0;
chara[100],b[100],c[4];
gets(a);//输入数据
for(i=0;i<strlen(a);i++)
{
/*将16进制转换成10进制*/
if(a[i]>='a'&&a[i]<='z')
result=result*16+a[i]-'a'+10;
elseif(a[i]>='A'&&a[i]<='Z')
result=result*16+a[i]-'A'+10;
else
result=result*16+a[i]-'0';
/*每两位处理一次*/
if(i%2!=0)
{
cindex=0;
do
{
c[cindex++]=result%10+'0';//倒序存放在c中
result/=10;
}while(result!=0);
for(j=cindex-1;j>=0;j--)//翻转后存放在b中
b[index++]=c[j];
}
}
b[index]='