PAT刷题笔记

 1002

 调试了好久的代码 之所以没出来就是错在了最后退格上面,无论是c语言中printf("\b");还是c++中的cout<<"\b";都是不行的,只能是按照顺序一次性打印成功。


#include<math.h>
#include<stdio.h>
#include<string.h>
void display(int j)
{
	char pinyin[10][5] = { "ling","yi","er","san","si","wu","liu","qi","ba","jiu" };
	switch (j)
	{
	case 0:
		printf("%s", pinyin[0]);
		break;
	case 1:
		printf("%s", pinyin[1]);
		break;
	case 2:
		printf("%s", pinyin[2]);
		break;
	case 3:
		printf("%s", pinyin[3]);
		break;
	case 4:
		printf("%s", pinyin[4]);
		break;
	case 5:
		printf("%s", pinyin[5]);
		break;
	case 6:
		printf("%s", pinyin[6]);
		break;
	case 7:
		printf("%s", pinyin[7]);
		break;
	case 8:
		printf("%s", pinyin[8]);
		break;
	case 9:
		printf("%s", pinyin[9]);
		break;

	default:
		break;
	}
}
int main()
{
	int sum = 0, p = 0, q;
	char a[101];
	gets_s(a);
	for (int i = 0; i < strlen(a); i++)
	{
		sum += a[i] - 48;
	}
	q = sum;
	for (; q > 0; p++)
	{
		q /= 10;
	}
	if (p)
	{
		for (int i = 0; i < p - 1; i++)
		{
			int j = sum / (int)pow(10.0, (double)(p - i - 1)) % 10;
			display(j);
			printf(" ");
		}
		int j = sum / (int)pow(10.0, 0) % 10;
		display(j);
	}


	return 0;
}

1011

这道题没有什么难度,就是要注意数据类型的长度

long与int型数据的区别:

  • 32位编译系统:int占四字节,与long相同。

  • 64位编译系统:int占四字节,long占8字节,long数据范围变为:-2^63~2^63-1

#include<iostream>
using namespace std;
int main()
{
	int n, i = 1;
	cin >> n;
	long A, B, C;
	while (n--) {
		cin >> A >> B >> C;
		cout << "Case #" << i << ": ";
		if (A + B > C)
			cout << "true" << endl;
		else
			cout << "false" << endl;
		i++;
	}
	return 0;
}

 尴尬........

发布了5 篇原创文章 · 获赞 3 · 访问量 716

猜你喜欢

转载自blog.csdn.net/qq_41959567/article/details/83032364