如果给出字符串 htr475ftu8kafda23dg56 将4758与2356相加用函数、数组的话是这样:#include <stdio.h>int parse(char* a){ int n = 0; while(*a) { if(*a >= '0' && *a <= '9') n = n * 10 + *a - '0'; ++a; } return n;}int main(){ char a[123], b[123]; int x, y; gets(a); gets(b); x = parse(a); y = parse(b); printf("%d+%d=%d\n", x, y, x + y);}但如果不用函数数组应该怎么做呢?用循环等基础语句~求教~不要保存 直接输出就行了。。。这个是作业
#include<stdio.h>main(){ char x; char input1='\0'; char input2='\0'; int number1=0; int number2=0; printf("请输入字符串1:(输入?结束)");//输入?作为字符串1的结束符 while(x!='?') { x=getchar(); if(x=='?') break; input1=x; if(input1>='0'&&input1<='9')//每检查到一个数字就要乘10,进一位 number1=number1*10+input1-'0';//比如字符'9'-'0'之后的数是数字9 } x='\0';//将字符x重置值,因为原来是等于?的 printf("请输入字符串2:(输入?结束)"); while(x!='?') { x=getchar(); if(x=='?') break; input2=x; if(input2>='0'&&input2<='9') number2=number2*10+input2-'0'; } printf("两串数之和为%d",number1+number2); getch();}//没有用到数组和指针,也没有调用函数,真不明作业这么多要求。。。 //希望能帮到你
#include <stdio.h>void main(){ char p[123], q[123],*a,*b; int x, y,m=0,n=0; a=gets(p); b=gets(q); while(*a) { if(*a >= '0' && *a <= '9') m = m * 10 + *a - '0'; ++a; } x=m; while(*b) { if(*b >= '0' && *b <= '9') n = n * 10 + *b - '0'; ++b; } y=n; printf("%d+%d=%d\n", x, y, x + y);}刚才试了一下,可以得出结果,祝你好运!O(∩_∩)O
"#include<stdio.h>main(){charx;charinput1='\0';charinput2='\0';intnumber1=0;intnumber2=0;printf("请输入字符串1:(输入?结束)");//输入?作为字符串1的结束符while(x!='?'){x=getchar();if(x=='?')break;input1=x;if(input1>='0'&&input1<='9')//每检查到1个数字就要乘10,进一位number1=number1*10+input1-'0';//例如字符'9'-'0'之后的数是数字9}x='\0';//将字符x重置值,由于原来是等于?的printf("请输入字符串2:(输入?结束)");while(x!='?'){x=getchar();if(x=='?')break;input2=x;if(input2>='0'&&input2<='9')number2=number2*10+input2-'0';}printf("两串数之和为%d",number1+number2);getch();}//木有用到数组和指针,也木有调出使用函数,真不明作业这么多要求。。。//期望能帮到你"
#include<stdio.h>#include"windows.h"#defineMAX1024main(){ char*str1,*str2,*p; inti=0,k=0; str1=(char*)malloc(1024*sizeof(char)); str2=(char*)malloc(1024*sizeof(char)); fflush(stdin); gets(str1); fflush(stdin); gets(str2); p=str1; while(*p!='\0') {if(isdigit(*p))i=i*10+*p-'0';p++; } p=str2; while(*p!='\0') {if(isdigit(*p))k=k*10+*p-'0';p++; } printf("%d\n",i+k); free(str1); free(str2);}