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

如题所述

#include "stdio.h"

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码

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-04

#include <stdio.h>

int main() {
int i = 0,ch;
char s[81];
while((ch = getchar()) != '\n') {
if(ch >= '0' && ch <= '9')
s[i++] = ch;
}
s[i] = '\0';
printf("%s\n",s);
return 0;
}

第2个回答  推荐于2018-01-02
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
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++;
    printf("The result is %s\n",ns);
    return 0;
}

本回答被网友采纳
第3个回答  2018-01-01
#include <stdio.h>
int main(int argc, char *argv[])
{
char a[100];
int i,m=0;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='0'&&a[i]<='9')
{a[m]=a[i];
m++;}
}
for(i=0;i<m;i++)
printf("%c",a[i]);
return 0;
}
相似回答