#include<stdio.h>
#include <time.h>
void tione()
{
// 该程序要做的事情:
// 1. ab和大于10,c=ab 否则 c=3a+2b
// 2. a>b 则打印: 3(a+b)
// 3. 排除 c大等于20 和 a>b 的情况,打印: 4c-5
// 4. a=a+b; b=a+b; c=a+b+c 打印各自的数字
int a=2,b=5,c;
if(a+b>10){c=a*b; } else { c=3*a+2*b;} // ab和大于10,c=ab 否则 c=3a+2b
if(c>=20){ printf("%d", c*c);} // c大等于20 打印C的平方
else if(a>b){ printf("%d", 3*(a+b));} // 遇到 a>b 则打印: 3(a+b)
else{printf("%d",4*c-5);} // 排除 c大等于20 和 a>b 的情况,打印: 4c-5
printf("\n"); a=a+b; b=a+b; c=a+b+c; // abc 赋值
printf( "a=%d, b=%d, c=%d\n", a, b, c); // 打印 abc 的数值
// printf("\n 解密算法: a=2 b=5 a+b=7 小于10 而满足: c=3*2+2*5 = 16 ");
// printf("\n c=16 小于20 且 a<b 因此 打印: 4*16-5=64-5=59 ");
// printf("\n a=a+b=2+5=7 b=a+b=7+5=12 c=7+12+16=35 \n ");
}
void titwo()
{
// 定义 x 变量, switch 进行匹配 x-1 即第一次循环 5-1=4
// case 匹配中即打印,匹配到 11-1=10 即跳出循环
int x;
for(x=5; x<12; x+=2)
{
printf("x=%d x+=2 => x=x+2 \n ",x);
switch(x-1)
{
case 4:printf("%d\n", x);
case 7:printf("%d\n",2*x+1);
case 10:printf("%d\n", 3*x-1); break;
default:printf("default\n");
}
}
}
void tithree()
{
int s0,s1,s2,x;
s0=s1=s2=0;
printf("从键盘输入一组整数,以 -1 结束: \n");
scanf("%d",&x);
while (x!=-1)
{
switch(x%3) // 判断 输入的 x 参数 除以 3 的余数是多少
{
case 0:s0+=x;break; // s0+=x => s0=s0+x => s0++ 自增加步长为 x ; 通过循环自动增加数字; 满足余数0 才赋值
case 1:s1+=x;break;
case 2:s2+=x;break;
}
scanf("%d",&x);
}
printf("s0=%d,s1=%d,s2=%d\n",s0,s1,s2);
}
int main() {
// 函数指针数组
void (*functionArray[])() = {tione, titwo, tithree};
// 循环调用数组中的函数
for (int i = 0; i < 3; i++) {
functionArray[i](); // 调用数组中的函数
}
return 0;
}
Powered by ddoss.cn 12.0
©2015 - 2025 ddoss
渝公网安备50011302222260号
渝ICP备2024035333号
【实验平台安全承诺书】
小绿叶技术社区,优化网络中,点击查看配置信息
主机监控系统: 安全防火墙已开启检查cc攻击-下载文件完成后等待10s 恢复访问,检查连接数低于峰值恢复访问
您的IP:216.73.216.110,2025-12-01 14:28:38,Processed in 0.01326 second(s).