(多样的加法)程序运行结果不正确,结果总是相似的一串数字,不知道怎么改,求大神帮忙。
程序代码:
#include<stdio.h> #include<string.h> #include<stdlib.h> int main() { int n,m,p,q,i,w,r; int j[100][100]={0}; char a[99]={0},b[99]={0},*c[100][100]={0}; p=0;q=0; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%s",a); scanf("%s",b); if(a[0]<=57&&a[0]>=48&&b[0]<=57&&b[0]>=48) { int num=atoi(a); r=atoi(b); r=num+r; j[q][99]=r; q++; } else { c[p][99]=strcat(a,b); p++; } } for(w=0;w<q;w++) printf("%d\n",j[w]); for(i=0;i<p;i++) printf("%s\n",c[i]); return 0; }
运行结果
/*1多样的加法(20分)
题目内容:
加法常常有不同的含义,如果我们看见“4+6”,我们会理解为10,如果我们看见“help+me”,我们会理解为“helpme”。
现在我们从键盘上输入,一组序列,请你来区分,不同的情况,给出不同的“加法”之后的结果。
输入格式:
第一行,输入一个整数N,表示有N组输入,接下来的每一行,有两个序列(整数或字符串),中间用空格分开
输出格式:
每一组输入,对应的结果
输入样例:
4[回车]
123[空格]456[回车]
hello[空格]Xidada[回车]
hello[空格]123[回车]
123[空格]hello[回车]
输出样例:
579[回车]
helloXidada[回车]
hello123[回车]
123hello[回车]
时间限制:500ms内存限制:32000kb*/