【C语法】1124循环结构

本文介绍了使用C语言进行基本的编程操作,包括输入数字、计算最大公约数、判断质数以及处理条件逻辑(如多重if和嵌套if),展示了在实际问题中的应用。

练习题

题目1: 输入一个数。倒叙输出各个位上的数。

#include <stdio.h>

int main(){

//输入一个数。倒叙输出各个位上的数。

//123456  6   5   4   3   2  1

// 1输出个位上的数  %10

// 2将这个数去掉个位上的数。 / 10

// 3当这个数最后变成0时结束

int a = 0;

printf("请输入一个正整数:");

scanf("%d", &a);

while(a != 0){

int b = a % 10;

printf("%d\n", b);

a = a / 10;

}

return 0;

}

题目2:输入两个数。求他们的最大公约数。

#include <stdio.h>

int main(){

//输入两个数。求他们的最大公约数。

//公约数:8 a 12 b   1 2 4   i a%i== 0 && b%i==0

// 1 输入两个数。

// 2 求出两个数中最小的那个c。

// 3 从1到c

// 4 将得到的所有的公约数依次赋值给d d的最终值就是最大的

//找到的最后的那个就是最大公约数

int a = 0;

int b = 0;

printf("请输入两个数a和b:");

scanf("%d %d", &a, &b);

int c = a > b ? b : a;

int d = 0;

for (int i = 1; i <= c; i++){

if (a % i == 0 && b % i == 0){

d = i;

}

}

printf("%d和%d的最大公约数是:%d", a, b, d);

return 0;

}

题目3:输入一个数。判断这个数是否是质数。

#include <stdio.h>

int main(){

//输入一个数。判断这个数是否是质数。

//只能被1 和本身整除的数。

//只要能被2---本身- 1 中任意一个数整除 就不是质数

// 1 输入一个数a

// 2 从 2 -- a-1   i;

// 3 判断 a%i== 0  如果能 就不是。

// 4 当说有的数都被判断过才能确定它是质数

int a = 0;

printf("请输入一个数:");

scanf("%d", &a);

int c = 0;

for (int i = 2; i <= a - 1; i++){

if (a % i == 0){

printf("不是质数\n");

break;

}

if (i == a - 1){

printf("是质数\n");

}

}

return 0;

}

If-else

1 多重if

If(){

}else if(){

}else if(){

}

...

else{

}

适用的例子就是我们的考试成绩例子

2 嵌套if

#include <stdio.h>

int main(){

//超市买东西,结账:

// 0 200以内不打折 200 9.5

// 1 100 以内 95折  100--200 - 9折  200以上 85折

//先输入是否会员 0 代表不是  1代表是 int

//再输入购买金额 float

int m = 0;

printf("请输入是否会员:");

scanf("%d", &m);

float buy = 0;

printf("请输入购买金额:");

scanf("%f", &buy);

float pay = 0;

if (m == 0){

//不是会员

if (buy < 200){

pay = buy;

}

else{

pay = buy * 0.95;

}

}

else{

//是会员

if (buy < 100){

pay = buy * 0.95;

}

else if (buy < 200){

pay = buy * 0.9;

}

else {

pay = buy * 0.85;

}

}

printf("请支付%f元", pay);

return 0;

}

总结:当要判断的对象是单一的情况下,用多重if

  如果判断的对象是多个的情况下,用嵌套

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AMING20220827

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值