关于此题getchar读入字符串的问题
查看原帖
关于此题getchar读入字符串的问题
321232
coding可达鸭楼主2022/9/29 08:42
#include <stdio.h>
short a[666] = { 0 }, b[666] = { 0 };
int main() {


	int n;
	int i = 0, j = 0;
	while ((n = getchar())  != '\n'&&n!= EOF&&n!='\r')
	{
		i++;
		a[i] = n - 48;
		
	}
    int c; 
    c=getchar();            //这里解决了此题不能用getchar的问题 但是这里为什么会有一个退格符呢
    printf("%d ",c);         //输入输出数据在下
	while ((n = getchar())  !='\n'&&n!= EOF&&n!='\r' )
	{
		j++;
		b[j] = n - 48;	
        
	}
int max;
	if (j > i) max = j;
	else max = i;
	int k = max;


	if (i == max) {
		while (1) {
			if (i == j) break;
			b[i] = b[j];
			b[j] = 0;
			i--;
			j--;
			if (j == 0) break;
		}
	}
	else {
		while (1) {

			a[j] = a[i];

			a[i] = 0;
			i--;
			j--;
			if (i == 0) break;
		}
	}

	while (max >= 1) {
		if ((a[max] + b[max]) >= 10)
		{
			a[max - 1]++;
			a[max] = a[max] + b[max] - 10;
		}
		else  a[max] += b[max];
		max--;
	}

	int m = 1;
	if (a[0] > 0)   m--;
	while (m <= k) {
		printf("%d", a[m]);
		m++;
	}
	
	return 0;
}

输入数据: 111 111 输出数据:10 222

2022/9/29 08:42
加载中...