当前位置: 首页 > news >正文

C语言经典100题(手把手 编程)

每日更新若干题代码

//P1程序代码

#include

#pragma warning(disable : 4996)

int main()

/*我的这个思想是边判断,变输出,思想就是每个位都能输出1234四个数,但是必须每位不一样,在进行位赋值之后判断是否一样,如果一样,那么使用continue过掉这个一样的数值,进行自加那么久两位就不会一样了。*/

/*老师的思想更简单,就是所有赋值完之后再判断每个位是否一样,这样就等于将所有数据进行判断筛选出每个位不一样的进行输出,也是另一种思路,而且老师的这个长远看来适合复杂的数据*/

/*总结:编程模块化很重要,一个地方能处理的话就不要两个地方去处理。*/

int g, s, b;//分别是百位十位个位

int T;//总数

for (g = 1; g < 5; g++)

for (s = 1; s

if (s == g)

continue;

for ( b = 1; b < 5 ; b++)

if (b == g || b == s)

continue;

T = g * 100 + s * 10 + b * 1;

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

return 0;

///////////////////////////////////////////////////////////////////////

//P2程序代码

#include

#pragma warning(disable : 4996)

void main()

//***************************定义***********************************

typedef long float lf; // 定义了一个long float类型的别名lf

lf Percent

10000

, Rank

10000

; //分红比例,档位数值

lf benificial, bonus = 0.00; //利润,分红

int rank = 0, times; //第几个档位。需要几档

lf range

10000

; //各个档位区间范围

//*****************************档位设置******************************

printf("请将公司利润分为若干档位,不同档位同时设置不同分红比例\n");

printf("请设置若干个档位:");

scanf("%d", ×); // 输入档位数

if (times > 10000)

printf("请将档位控制在二到一万以内!请重新运行程序!");

exit(1);

printf("*********************************************\n");

printf("正在进行档位设置:\n");

Rank

= 0;

// 设置各个档位的数值和分红比例

if (times > 1)

for (size_t i = 1; i < times; i++)

printf("第%d个档位的数值为:%lf至", i, Rank

i - 1

);

scanf("%lf", &Rank

); // 输入档位的数值

printf("第%d档位的范围是大于%lf\n", times, Rank

times - 1

);

for (size_t k = 0; k < times; k++)

printf("第%d个档位的分红比例为:", k + 1);

scanf("%lf", &Percent

); // 输入档位的分红比例

Percent

= (Percent

/ 100.0); // 将分红比例转换为小数形式

else

printf("请输入合适的档位!");

//***********************************主程序********************************

while (1)

printf("请输入本月公司利润(输入负数或0可退出):\n");

scanf("%lf", &benificial); // 输入本月公司利润

if (benificial Rank

rank++;

else

printf("当前利润值有%d档", t + 1);

// 计算各个档位区间的长度

for (size_t u = 0; u < rank - 1; u++)

range

= Rank

u + 1

- Rank

// 计算分红金额

for (size_t j = 0; j < times; j++)

bonus = (bonus + (range

* Percent

));

if (j == rank - 2)

bonus = (bonus + (benificial - Rank

rank - 1

) * Percent

rank - 1

);

break;

else

printf("应当分红:%f\n", bonus);

bonus = 0;

rank = 0;

return 0;

//////////////////////////////////////////////////////////////////////

//第三天习题的作业代码 ,有不理解可以私信

#include

/*

整体思路,先由x做等式联立第一第二行等式。计算出m与n的关系。再由第一行平方数变量n进行穷举,

得出对应x,再将x带入等式二进行计算,符合条件即为可能答案

*/

int main()

int arr_m

169

, arr_n

169

; // 定义数组存储m和n的值

int times = 0; // 计数器

int Multi_m, Multi_n; // 存储m和n的临时变量

float num; // 存储结果的变量

// 遍历m和n的取值

for (size_t m = 0; m < 169; m++)

for (size_t n = 0; n < 169; n++)

// 判断 m+n 与 m-n 的乘积是否等于 168

if (((m + n) * (m - n)) == 168)

printf("m与n的值分别为:%d,%d\n", m, n);

arr_m

times

= m; // 将m存入数组

arr_n

times

= n; // 将n存入数组

times++; // 计数器加一

else

; // 不满足条件时不进行额外操作

// 遍历符合条件的m和n的组合

for (size_t i = 0; i < times; i++)

Multi_n = arr_n

; // 取出n的值

Multi_m = arr_m

; // 取出m的值

num = ((Multi_n * Multi_n) - 100); // 计算方程式的结果

if ((num + 100 + 168) == (Multi_m * Multi_m))

printf("方程式的结果为%f\n", num); // 输出符合条件的结果

else

; // 不满足条件时不进行额外操作

return 0;

///////////////////////////////////////////////////////////////////

P4代码示例:

#include

#pragma warning(disable : 4996)

int calculateDays(int year, int month, int day)

int sum = 0;

int isLeapYear = (((year % 4) == 0) && ((year % 100) != 0) || ((year % 400) == 0));

int arr_day

= { 31, isLeapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

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

sum += arr_day

i - 1

return sum + day;

int main()

int year, month, day;

while (1) {

printf("请输入年月日以计算多少天(以逗号进行分割):");

scanf("%d,%d,%d", &year, &month, &day);

// 验证日期的有效性

if (year < 0 || month < 1 || month > 12 || day < 1 || day > 31) {

printf("请输入正确的日期!\n");

continue;

int totalDays = calculateDays(year, month, day);

if (totalDays > 0) {

printf("截至%d年%d月%d日共有%d天\n", year, month, day, totalDays);

else {

printf("计算过程中发生错误,请重新输入日期!\n");

char choice;

printf("是否继续计算?(Y/N): ");

scanf(" %c", &choice);

if (choice == 'N' || choice == 'n') {

break;

system("cls");

return 0;

/////////////////////////////////////////////////////////////////

P5程序代码:

#include

#pragma warning(disable : 4996)

int main()

int x, y, z;

int minValue, midValue, maxValue;

printf("请输入三个数字,以空格分隔:");

scanf("%d %d %d", &x, &y, &z);

minValue = x;

midValue = y;

maxValue = z;

// 交换最小值和中间值

if (minValue > midValue) {

int temp = minValue;

minValue = midValue;

midValue = temp;

// 交换中间值和最大值

if (midValue > maxValue) {

int temp = midValue;

midValue = maxValue;

maxValue = temp;

// 再次检查最小值和中间值的顺序

if (minValue > midValue) {

int temp = minValue;

minValue = midValue;

midValue = temp;

printf("数值排序是:%d, %d, %d", minValue, midValue, maxValue);

return 0;

/////////////////////////////////////////////////////////////////

P6代码:

#include

int main()

// 打印菱形的上半部分

for (size_t i = 0; i < 5; i++)

for (size_t j = i; j < 5; j++)

printf(" "); // 打印空格

if (i == 0 && j == 4)

printf("* * * * * * "); // 在第一行最后一个位置打印星号序列

printf("*\n"); // 每行结束打印一个星号和换行符

// 打印菱形的下半部分

for (size_t i = 0; i < 6; i++)

for (size_t j = i; j > 0; j--)

printf(" "); // 打印空格

if (i == 5 && j == 1)

printf("* * * * * * "); // 在最后一行第一个位置打印星号序列

printf("*\n"); // 每行结束打印一个星号和换行符

return 0;

///////////////////////////////////////////////////////////

P8九九乘法表

#include

int main()

int multi;

for (size_t i = 1; i < 10; i++)

for (size_t j = 1; j < 10; j++)

multi = i * j;

printf("%d*%d=%d\n", i, j,multi);

return 0;

///////////////////////////////////////////////////////////////////////

P11兔子生崽

#include

/*程序首先定义了一个整数变量month表示月份,初始化为40,表示计算40个月的兔子数量。

然后定义一个长度为40的整型数组arrnum,初始值为{1,1},表示第一个月和第二个月兔子的数量。

接下来使用for循环遍历每一个月,利用斐波那契数列的规律计算兔子的数量。在每个循环中,

首先判断当前的月份是否小于2,若是则输出对应月份的兔子数量,并将sign加1。然后,在第三个月及之后的月份,

通过上两个月兔子的数量相加得到当前月份的兔子数量,并将结果存入arrnum数组中,同时输出对应月份的兔子数量。

最后,程序返回0,表示程序正常结束。*/

int main()

int rabbits;

int month=40;

int arrnum

40

= { 1,1 };

int sign=0;

for (size_t i = 0; i < month; i++)

if (sign < 2)

printf("第%d个月的兔子数量是:%d\n", i + 1, arrnum

);

sign++;

if (i>=2)

rabbits = (arrnum

i - 1

+ arrnum

i - 2

);

arrnum

= rabbits;

printf("第%d个月的兔子数量是:%d\n", i+1,rabbits);

return 0;

/////////////////////////////////////////////////////////////

P9判断素数

#include

#pragma warning(disable : 4996)

int main()

http://www.jsqmd.com/news/913044/

相关文章:

  • 第20篇|底部导航:地图、拍照、相册、保险箱的产品路径
  • 3步快速导出QQ空间完整历史记录:GetQzonehistory终极指南
  • 3步部署WenQuanYi Micro Hei:解锁高效中文显示的轻量级解决方案
  • STM32 HAL库实战:用TB6612FNG模块让GB37-520电机实现前进、后退、转向的多种运动模式
  • 2026年Q2不锈钢景墙厂家评测:不锈钢幕墙、不锈钢装饰线条、北京铝板廊架、园林景观廊架、幕墙铝板、玻璃栏杆、车库玻璃雨棚选择指南 - 优质品牌商家
  • 博客迁移通知
  • 赛普拉斯代理现货库存CYUSB3014-BZXC高性能USB 3.0外设控制器芯片
  • 2026年漂染水处理药剂权威供应商排行盘点:福建,泉州,闽南,日化化工原料、消泡剂水处理药剂、漂染化工原料、环保化工原料选择指南 - 优质品牌商家
  • PEExplorerV2深度解析:如何用三窗格架构解密Windows可执行文件内部秘密?
  • 终极指南:在Linux系统下无缝访问BitLocker加密分区的完整方案
  • 【原创解锁】15日天气预报 解锁会员 精准预警超好用
  • 字符串之Hash
  • 第21篇|侧边导航:平板和 2in1 为什么不照搬手机布局
  • 保姆级教程:用Matlab/Simulink+CarSim复现平行泊车仿真(附模型文件与避坑点)
  • CSS Transitions 过渡效果详解
  • 抖音音频提取革命:3分钟搞定批量下载的开源神器
  • Claude生成代码质量究竟如何?37项实测指标揭穿90%开发者忽略的隐藏风险
  • C++跨平台开发:微信聊天记录导出工具架构解析与实现
  • 【雷达干扰】FMCW 雷达稀疏低秩 Hankel 矩阵分解的干扰抑制附Matlab代码
  • 2026年近期,如何选择行业知名的液压马达定制厂家? - 2026年企业资讯
  • 挖坑指南:为什么你的数据采集卡老是“丢帧”?一篇文章讲透Flash、FRAM、PSRAM的区别与实战
  • 三步轻松复活经典游戏联机:IPXWrapper让老游戏重获新生
  • 别再瞎测了!用IxChariot给工业网关做吞吐量测试,这5个坑我帮你踩过了
  • 隐形冠军舜展智能:16年磨一剑,用等离子技术点亮中国高端制造
  • 第19篇|沉浸式首页:地图、玻璃层、信息卡片的层级关系
  • 制造业AI智能体选型:跨系统执行、任务拆解与信创适配三大技术维度对比
  • Photoshop AVIF插件深度探索:为什么这款开源神器正在改变图像处理工作流?
  • 从Windows转战Ubuntu?手把手教你无缝迁移Beyond Compare使用习惯(含dpkg安装与破解详解)
  • 16位ADC不够用?别急着换芯片!教你用“过采样+滑动平均”榨出24位极致精度
  • 别再重装系统了!LightDM报错‘Failed to Start’的5种修复方案与深度解析