C语言程序设计 从键盘输入一个字符串,将其中所有的数字字符抽出,按原顺序组成一个新串并输出。

C语言程序设计 从键盘输入一个字符串,将其中所有的数字字符抽出,按原顺序组成一个新串并输出。,第1张

#include "stdioh"

int main(void){ 

char s[100],ns[100]; 

int i,j; 

printf("Please intput a string\ns=");

gets(s); 

for(j=i=0;ns[j]=s[i];i++)     

if(s[i]<'0' ||s[i]>'9')         

j++; 

puts(ns);

return 0;

}

扩展资料:

ascall码第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;

通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;

第33~126号(共94个)是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

注意:在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。

参考资料:

百度百科-ascall码

奇偶校验用在数据传送里。数据传送时,最后一位为奇偶校验位。收发上方事先已经约定好进行奇校验还是偶校验。

比如传送0101这个二进制数,约定为奇校验。0101里面1的个数是偶数个,所以奇偶校验位为1,变成01011,这样1的个数就为奇数个。收到方就根据奇偶校验位判断数据有没有发送错误。

但是就跟你所说的,这个方法有缺陷,如果数据一下子错了两位,比如刚才的0101,发成了1001,错误就查不出来了。

#include "stdioh"

#include "stringh"

#define N 300

void main(){

char a[N],sum='\0';

int i=0,k;

printf("input the number:");

scanf("%s",a);

k=strlen(a);

printf("%d",sum);

}

注:程序的思想不错,但是具体实现上有些问题,我的调试环境是VC++60,当和大于127时,由于奇偶校验码等原因,会超出上限,128会表示成-128,129表示成-127所以算法在独立性上不是很好,楼主不妨试下将字符性的“5”换成整型的5这种办法,反而简单些

 #include<stdioh>

void main()

{

  int n = 0;

  scanf("%d", &n);                  //让用户输入数字

  printf("%d", n%2 == 0  2 : 1);   //判断数字是否能被2整除

}

请参考上面的代码。

c语言的字符类型是以整数的形式存储在内存中的,这个整数就是这个字符的ascii码,所以只需要将字符以整数的形式输出即可。

代码如下:

#include

int main()

{

char c;

c = getchar();

printf("%d\n", c);

return 0;

}

以上就是关于C语言程序设计 从键盘输入一个字符串,将其中所有的数字字符抽出,按原顺序组成一个新串并输出。全部的内容,包括:C语言程序设计 从键盘输入一个字符串,将其中所有的数字字符抽出,按原顺序组成一个新串并输出。、什么是奇偶校验怎么实现、编写一个简单的C语言程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9451132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存