1.有几个运算对象就是几元运算符
2.截断,在int作除法和类型转换都截断小数
3.typedef 定义一个新类型 把后面的变成前面的类型
4.求模,正数得正数,负数得负数
5.如果变量出现在函数多个参数,变量不自增自减。
一个变量多次出现在一个表达式中不自增自减。
6.c=2+9的值为11。c=0的值为0。
7.副作用是对数据或文件的修改。序列点是函数执行结束的点,所以副作用在进入下一步之前发生。分号是一个序列点,任何一个完整的表达式也是一个序列点。
8.类型的从高到低排序是
long double, double, float, unsign float,
unsigned long long, long long, unsigned int, int两种类型计算结果转化为较高类型。
循环没什么问题,可能学的比较扎实吧。
记一个题
设有 n个正整数 a1~an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入格式
第一行有一个整数,表示数字个数 n。
第二行有 n个整数,表示给出的 n 个整数ai
输出格式
一个正整数,表示最大的整数
样例
输入
3
13 312 343
输出
34331213
看大佬都是用c++写的,像这样
#include
#include
#include
using namespace std;
string s[21];int n;
bool cmp(const string &a,const string &b) {
return (a+b > b+a);
}
int main(void) {
cin >> n;
for(int i=1;i<=n;++i) cin >> s[i];
sort(s+1,s+n+1,cmp);
for (int i=1;i<=n;++i) cout << s[i];
return 0;
}
这不重要,我在想用c++能写为什么c不行
有个脑洞不知道行不行
用一个二维数组存每个变量,然后用strcat函数和for循环把他们缝起来,然后再把他转换回数字,一个一个比较,把最大的选出来输出。
明天试试,睡了睡了,晚安