1.局部变量的作用域是局部变量所在的局部范围。例:变量b所在的范围没有在main()里。
#include <stdio.h>
void test()
{
int b = 0;
}
int main()
{
int a = 10;
return 0;
}
2.用*输出一架小飞机
#include <stdio.h>
int main()
{
printf(" **\n");
printf(" **\n");
printf("************\n");
printf("************\n");
printf(" * *\n");
printf(" * *\n");
return 0;
}
3.已知一个函数y=f(x),当x<0时,y=1;当x=0时,y=0;当x>0时,y=-14.4.
#include <stdio.h>
int main()
{
//输入
int x = 0;
int y = 0;
scanf("%d", &x);
//计算
if (x < 0)
y = 1;
else if (x == 0)
y = 0;
else
y = -1;
//输出
printf("%d\n", y);
return 0;
}
4.判断一个整数能否被5整除
#include <stdio.h>
int main()
{
int m = 0;
//输入
scanf("%d", &m);
//输出
if (m % 5 == 0)
printf("YES\n");
else
printf("NO\n");
return 0;
}
5.字符串的结束标志是\0
#include <stdio.h>
int main()
{
printf("abcdef");
printf("abcd\0ef");
return 0;
}
6.求两个整数的较大值
#include <stdio.h>
get_max(int x, int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{
int n1 = 0;
int n2 = 0;
//输入
scanf("%d %d", &n1, &n2);
//求两个整数的较大值
int m=get_max(n1, n2);
//输出
printf("%d\n", m);
return 0;
}
7.输入一个整数表示人的智商,大于等于140,则输出“Genius”
#include <stdio.h>
//scanf函数在调用失败的时候,读取失败的时候,会返回EOF,EOF的本质是-1
int main()
{
//输入
int iq = 0;
while (scanf("%d",&iq)!=EOF)
{
if (iq >= 140)
{
printf("Genius\n");
}
}
return 0;
}
8.学生管理系统。例如输出:姓名-Jcak,年龄-18,性别-Man
#include <stdio.h>
int main()
{
printf("Name Age Gender\n");
printf("-------------------\n");
printf("Jack 18 man\n");
return 0;
}
9.给定两个整数a,b,计算a除以b的整数的商和余数
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
//输入
scanf("%d %d", &a, &b);
//输出
printf("%d %d\n", a / b, a % b);
return 0;
}
10.计算表达式的值
#include <stdio.h>
int main()
{
int a = 40;
int c = 212;
int ret = (-8 + 22)*a - 10 + c;
printf("%d\n", ret);
return 0;
}
11.将一句话的单词进行倒置,标点不倒置,比如 I like beijing. 经过函数后变为:beijing. like I
//1.对整体字符串进行逆序
//2.对字符串中每个单词进行逆序
#include <stdio.h>
#include <assert.h>
#include <string.h>
void reverse(char* l, char* r)
{
assert(l && r);
while (l < r)
{
char tmp = *l;
*l = *r;
*r = tmp;
l++;
r--;
}
}
int main()
{
char arr[100] = { 0 };
//scanf("%s\n",arr);scanf遇到空格就不读写了,所以用gets
//输入
gets(arr);
int len = strlen(arr);
//逆序
//1.逆序整个字符串
char* left = arr;
char* right = arr + len - 1;
reverse(left, right);
//2.逆序每个单词
char* cur = arr;
char* start = arr;
while (*cur!='\0')
{
while (*cur != ' '&& *cur != '\0')
{
cur++;
}
reverse(start, cur - 1);
start = cur + 1;
if (*cur != '\0')
{
cur++;
}
}
printf("%s\n", arr);
return 0;
}