之前做算法题都是输入输出都确定了
到牛客网这个ACM 感觉很迷茫
用Swift 搞定了输入出处 但是 retrun a + b 这种简单的加法都超时 只能放弃了(Leetcode 做的算法题 都是用的Swift 之前是Java 支持之后 就一直用Swift了)。如果将来牛客网优化了,还是会用Swift
一度对这个 输入输出很头疼
while 能接收多组数据
这里好多OC语法不能用 用就超时了
想到 OC 是C的超集 可以用C语言
好久没用C了,这里简单记录下C的基本语法,够做题的
这里记录下
#import <Foundation/Foundation.h>
int main(int argc, char * argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
int a, b;
// 可以定义多个一次接收的参数
while(scanf("%d %d", &a, &b) != EOF) {
printf("%d\n", a + b);
}
[pool drain];
return 0;
}
基本的变量
int i, j, k;
char c, ch;
float f, salary;
double d;
基本的变量
//数组
type arrayName [ arraySize ];
balance[4] = 50.0;
// 枚举
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
// 指针
int *ip; /* 一个整型的指针 */
double *dp; /* 一个 double 型的指针 */
float *fp; /* 一个浮点型的指针 */
char *ch; /* 一个字符型的指针 */
// 字符串
char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};
char site[] = "RUNOOB";
strcpy(s1, s2);
复制字符串 s2 到字符串 s1。
strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。
strlen(s1);
返回字符串 s1 的长度。
strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。
strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。
strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
宏定义
#define identifier value
运算符
// printf 不能打印纯数字
+ - * / %
c = a++; // 赋值后再加 1 ,c 为 21,a 为 22
c = a--; // 赋值后再减 1 ,c 为 22 ,a 为 21
逻辑运算符
int a = 5;
int b = 20;
int c ;
&& || !
定义函数
/* 函数返回两个数中较大的那个数 */
int max(int num1, int num2)
{
/* 局部变量声明 */
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}











网友评论