1.求s=1+(1+2)+(1+2+3)+.....+(1+2+3+4...+n)
int main()
{
int n = 1;
int j = 0;
int sum1 = 0;
int sum2 = 0;
printf("请输入一个数:\n");
scanf("%d", &n);
for (j = 1; j <= n; j++)//不需要使用两次循环
{
sum1 = sum1 + j;
sum2 = sum2 + sum1;
}
printf("%d\n", sum2);
return 0;
}
2.判断结果
int main()
{
int i = 0;
for (i = 0; i < 10; i++)
{
if (i = 5)// =赋值 i始终等于5
printf("%d ", i);//死循环的打印5
}
return 0;
}
因为i=5是赋值 不是判断语句。
3.选择题
关于if语句说法正确的是:(C)
A.if语句后面只能跟一条语句 //跟大括号
B.if语句中0表示假,1表示真 //0表示假 非0表示真
C.if语句是一种分支语句,可以实现单分支,也可以实现多分支
D.else语句总是和它对齐的if语句匹配 //和他最近的if匹配
4.选择题
关于switch说法不正确的是(C)
A.switch语句中的default子句可以放在任意位置
B.switch语句中case后的表达式只能是整型常量表达式
C.switch语句中的case子句必须放在default子句之前
D.switch语句中case表达式不要求顺序
5.下面代码执行结果是什么()
int func(int a)
{
int b;
switch (a)
{
case 1:b = 30;//没有break;所以一直往后执行 直到default 所以b=0;
case 2:b = 20;
case 3:b = 16;
default:b = 0;
}
return b;
}
则func(1)=?
6.选择题
switch(c)语句中,c不可以是什么类型(D)//整型常量表达式
A.int
B.long
C.char//字符对应的ASCII也是整型
D.float //单精度浮点型
7.下面代码执行结果是什么(hellothird)
int main()
{
int x = 3;
int y = 3;
switch (x % 2)
{
case 1:
switch (y)
{
case 0:
printf("first");
case 1:
printf("second");
default:printf("hello");//后面没有break; 所以运行到case 2:打印 hellothird
}
case 2:
printf("third");
}
return 0;
}
8.从大到小输出三个数
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf("%d%d%d", &a, &b, &c);
//算法实现
//a放最大值
//b次之
//c放最小值
if (a<b)//a里面放到较大值
{
int tmp = a;//tmp临时变量
a = b;
b = tmp;
}
if (a < c)
{
int tmp = a;
a = c;
c = tmp;
}
if (b < c)
{
int tmp = b;
b = c;
c = tmp;
}
printf("%d %d %d", a, b, c);
return 0;
}
9.写一个代码打印1-100之间所有的3的倍数
int main()
{
int i = 1;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0)// *重点*
printf("%d ", i);
}
return 0;
}
10. 给定两个数 求最大公约数
int main()
{
int m = 0;
int n = 0;
int r = 0;
scanf("%d%d", &m, &n);
while (m % n)//m%n 非0为真
{
r = m % n;//r=6
m = n; //辗转相除法
n = r;
}
printf("最大公约数为:%d", n);//m%n==0 跳出循环
return 0;
}
//
//while (r=m % n)//m%n 非0为真
//{
// m = n; //辗转相除法
// n = r;
//}