编写一个函数,实现把一个字符串中所有数字字符替换成“*”。在主函数中完成输入与

作者&投稿:祖胁 (若有异议请与网页底部的电邮联系)
编写函数实现将一个字符串转换为整数.在主函数中输入一个由数字字符组成的字符串~

12345678910111213141516171819202122#includeint charTonumber(char *s){ char *tmp; int num = 0; tmp = s; while(*tmp) { if(*tmp '9') break;//遇到非数字字符结束 num = num*10 + (*tmp) - '0';//转换为数字 tmp++; } return num;} int main(int argc,char **argv){ char numstr[11]; scanf("%s",numstr); printf("%s::%d
", numstr,charTonumber(numstr)); return 0;}

#includeint charTonumber(char *s){ char *tmp; int num = 0; tmp = s; while(*tmp) { if(*tmp '9') break;//遇到非数字字符结束 num = num*10 + (*tmp) - '0';//转换为数字 tmp++; } return num;} int main(int argc,char **argv){ char numstr[11]; scanf("%s",numstr); printf("%s::%d
", numstr,charTonumber(numstr)); return 0;}

核心是判断字符是否为数字,如果是就替换为“*”,即:if(s[i]>'0'&&s[i]<'9') { s[i]='*' } 。

整个函数具体代码如下:

#include<stdio.h>

#include<string.h>

void changes(char*s)

{

int i;

for(i=0;i<strlen(s);i++)

{

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

s[i]='*';

}

}

int main()

{

char s[1000];

gets(s);

changes(s);

putchar(s);

return 0;

}

扩展资料:

判断一个字符是否为数字的两种方法:

1、直接判断

#include <stdio.h>

int main()

{   

    char c;

    c = getchar();//读取一个字符。

    if(c >='0' && c<='9')printf("是数字
");

    else  if(c >='a' && c<='z' ||  c >='A' && c<='Z'))

        printf("是字母
");

    else 

        printf("是特殊字符
");

    return 0;

}

2、库函数

int main()

{

    char c;

    c = getchar();

    //来判断是否为数字,如果是数字那么会返回非0

    if(isdigit(c) != 0)

        printf("是数字
") ;

    //来判断是否为字母,如果是字母那么返回非0

    else if(isalpha(c) != 0)

        printf("是字母
"); 

    else

        printf("是特殊字符
");

}



#include<stdio.h>
#include<string.h>
void changes(char*s)
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]>'0'&&s[i]<'9')
s[i]='*';
}
}
int main()
{
char s[1000];
gets(s);
changes(s);
putchar(s);
return 0;
}

我没编译过,不过应该是对的


JAVA 写一个函数,有三个字符串参数abc 以实现将字符串a中的所有b替换...
<一句话功能简述> <功能详细描述> param args see [类、类#方法、类#成员]\/ public static void main(String[] args) { \/\/ TODO Auto-generated method stub String a = "aabbccbb";String b = "bb";String c = "eeee";while (true) { int num = a.indexOf(b);if (num != -1)...

c#写出一个函数将某已知数组的奇数项组合成一个新的数组,在主函数中调...
static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; int[] newarr = OddArray(arr); foreach (int i in newarr) { Console.WriteLine(i); } Console.Read(); } public static int[] OddArray(int[]...

不用max函数,自己通过for与if来写一个函数,实现给出a列表中的最大值 p...
a = [99,88,77,66,1234,2234,3234]b = 0for i in a: if b < i: b = iprint b

...用数组名作为形式参数和实在参数,实现将n个整数按从小到大排序...
\/\/如果还有问题,我们可以再讨论~include<iostream> using namespace std;void sort(int a[],int n);\/\/添加函数声明 int main(){ int b[5]={1,9,3,4,5};sort(b,5);return 0;} void sort(int a[],int n){ int i,j;int t;for (j=0;j<n;j++)for (i=0;i<n;i++)if ...

在c语言中如何调用一个函数实现将数组奇数排列在左,偶数排列在右,这是...
把接口稍微修改了一下,用了const unsigned int, 以表示n是不能变的;其实你完全可以用C的标准库函数qsort, 自己写的compare函数调整一下即可。 如下:int compare (const void * a, const void * b){ if ( (*(int*)a % 2 == 0) && (*(int*)b % 2 != 0) )return 1;if ( (...

C语言编程,写一个函数,使输入的一个字符串按反序存放,在主函数中输入和...
reverse(s);\/\/调用反序函数 printf("New string: %s\\n", s);\/\/输出反序后的字符串 return 0;} void input(char st[]){ printf("Please enter string: ");gets(st);} \/\/反序函数 void reverse(char st[]){ int n=strlen(st);for (int i=0, j=n-1, t; i<(n\/2); t=st...

编程题 已知函数y=f(x),编程实现输入一个x值,输出y值 条件y= 2x+1(x...
解题过程如下图:

编写一个函数fun,用指针实现字符串的复制功能。在main函数中输入字符...
include <stdio.h> void fun(char *s,char *t){ while(*s){ t = *s;s++;t++;} t = '\\0';} int main(){ char str1[100] = {0};char str2[100] = {0};printf("input str1:\\n");gets(str1);fun(str1,str2);printf("str2 is\\n%s",str2);return 0;} ...

c程序填空:下面函数实现strcmp的功能,将两个字符串s和t进行比较,然后...
int MyStrcmp(char s[], char t[]){ int i; for (i=0; s[i] == t[i]; i++ ) { if(s[i] == '\\0') return 0 ; } return (s[i] - t[i]);}所以填写:'\\0's[i] - t[i]

2. 编写一个函数max(),实现比较三个数的大小,返回三个数中的最大数的...
int max(int a,int b,int c){ return (a>b?a:b)>c?(a>b?a:b):c;} int main(){ int a=1,b=3,c=2;printf("最大值为:%d\\n",max(a,b,c));return 0;}

清水河县15869416800: 用c语言编写一个函数,提取一个字符串中的所有整数. -
侨底更宝: #include#includemain(){ int i,j=0,k; char a[1000];//长度自己根据实际情况调整 printf("请输入一串字符串:\n"); gets(a); k=strlen(a); for(i=0;i

清水河县15869416800: c函数●写一个函数,完成如下功能: 输入:一个字符串.其中,字符串中仅可能含有大写英文字母,即A - Z.●写一个函数,完成如下功能: 输入:一个字符... -
侨底更宝:[答案] 供参考……#include "stdio.h"#include "string.h"void main(){ char Str[120],cx,Letter[][2]={{'A',0},{'B',0},{'C',0},{'D',0},{'E',0},{'F',0},{'G',0}, ...

清水河县15869416800: 急求!C语言编写一函数,把一个字符串中所有的字母或数字字符都去掉,产生一个新字符串,main函数输入输出 -
侨底更宝: #include char* fun(char* s) { char* p = s; char* q = s; while(*p) { if( !(isdigit(*p) || isalpha(*p)) ) { *q = *p; q++; } p++; } *q = 0; return s; } int main() { char input[1000]; while(scanf("%s",input)==1) { printf("%s\n",fun(input)); } }

清水河县15869416800: 编程c++:编写函数,将一个字符串中所有的大写字母转换为小写字母,所有的小写字母转换为大写字母. -
侨底更宝: 使用地址传递而非引用传递,大概是从 C 转过来/ 有着 C 的风格吧. char* MagicFunction(char* str) {for(int i=0;str[i];i++){if( str[i] > 0x40 && str[i] < 0x5B )str[i] += 0x20 ;else if( str[i] > 0x60 && str[i] < 0x7B )str[i] -= 0x20 ;else continue ;}return str ; }

清水河县15869416800: 编写一个函数,其功能为:将给定字符串中的所有大写字母改写成小写字母 -
侨底更宝: 函数的定义:char upchange(char in); 函数的实现 char upchange(char in) { return (char)(int(in)+32);//小写字母的ascii码等于大写的加32 } 主函数中的调用 char inp[200]; scanf("%s", inp); int len=strlen(inp); for (int i=0;i { if ((int(inp[i]) >= 65)&&(int(inp[i])inp[i]=upchange(inp[i]); } printf("%s\n", inp);

清水河县15869416800: 编程c++:定义一个函数,讲一个字符串中的所有小写字母转换为相应的大写字母,其余字符不变. -
侨底更宝: #include <stdio.h>void convert( char*p) {while(*p){if(*p >='a'&& *p <='z')*p = *p - 'a' + 'A';p++;} }int main() {char str[] = "Long time ago, there lived a king. 1234.";puts( str );getchar();return 0; }

清水河县15869416800: 3、编写一个函数,实现将一个字符串中的数字去掉后,赋值给一个新的数组.例如:kj24d9 -
侨底更宝: 遍历整个字符串 然后对每个元素进行判断是否为数字即可 如果是则跳过(可以选择一个新的数组对非数字进行保存,也可以将数字后面的所以其它字符向前移动一位覆盖掉当前字符) 这样直到字符串结尾就完成了

清水河县15869416800: C语言:编写一个函数,实现把一字符串复制到一个字符数组中. -
侨底更宝: 展开全部# include void strcopy( char str1[], char str2[]) { int i; for(i=0;str[i]!= '\0';i++){ str1[i]=str2[i]; s1[i]='\0'; } } void main() {char str1[20];str2[20]; scanf("%s%s",str1,str2);printf("%s",strcopy(str1,str2)); }

清水河县15869416800: 设计函数实现将一个字符串中小写字母转化为大写字母.c语言题目 -
侨底更宝: #include <stdio.h> #include <string.h> void fun(char *s) { int i; for(i=0;s[i]!='\0';i++) if(s[i]>='a'&&s[i]<='z') s[i]-=32; } //以上为函数,以下为主函数 void main(){ char s[80]={'\0'}; gets(s);fun(s);puts(s); }//运行示例:

清水河县15869416800: 编写函数实现删除一字符串中的'*' -
侨底更宝: 另外开辟一个字符数组,void delete(char s[],char t[]) {int i,j; for(i=j=0;s[i]!='\0';i++) if(s[i]!='*') t[j++]=s[i]; t[j]='\0'; } 在原字符串上直接删除 void delete(char s[],char t[]) {int i,j; for(i=0;s[i]!='\0';i++) if(s[i]=='*'){ for(j=i+1;s[j]!='\0';j++) s[j-1]=s[j]; s[j-1]='\0'; i--;} }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网