当前位置: 首页 > 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.rkmt.cn/news/1424354.html

相关文章:

  • 第20篇|底部导航:地图、拍照、相册、保险箱的产品路径
  • 2026年Q2不锈钢景墙厂家评测:不锈钢幕墙、不锈钢装饰线条、北京铝板廊架、园林景观廊架、幕墙铝板、玻璃栏杆、车库玻璃雨棚选择指南 - 优质品牌商家
  • 字符串之Hash
  • 终极指南:在Linux系统下无缝访问BitLocker加密分区的完整方案
  • PEExplorerV2深度解析:如何用三窗格架构解密Windows可执行文件内部秘密?
  • 第21篇|侧边导航:平板和 2in1 为什么不照搬手机布局
  • 【原创解锁】15日天气预报 解锁会员 精准预警超好用
  • C++跨平台开发:微信聊天记录导出工具架构解析与实现
  • 挖坑指南:为什么你的数据采集卡老是“丢帧”?一篇文章讲透Flash、FRAM、PSRAM的区别与实战
  • 三步轻松复活经典游戏联机:IPXWrapper让老游戏重获新生
  • 别再瞎测了!用IxChariot给工业网关做吞吐量测试,这5个坑我帮你踩过了
  • Photoshop AVIF插件深度探索:为什么这款开源神器正在改变图像处理工作流?
  • 别再重装系统了!LightDM报错‘Failed to Start’的5种修复方案与深度解析
  • Flutter Hero Animation 详解
  • 2026年Q2北京铝合金回收:北京溴化锂机组回收/北京电器回收/北京电子设备回收/北京电池回收/北京电线电缆回收/选择指南 - 优质品牌商家
  • 【图像提取】基于数学形态学的数字视网膜图像血管提取 (DRIVE) 数据集分割附Matlab代码
  • 【AI搜索革命性差异指南】:3大核心维度拆解AI搜索与传统搜索的底层逻辑差异
  • 【绿化】Fong投屏 一键手机投屏 多设备兼容超稳定
  • 深入Windows消息循环:手把手教你用Unity拦截WM_SIZING实现自定义窗口控制
  • 如何选择工程信息平台?2026年5月推荐口碑好的服务项目人脉难寻痛点 - 品牌推荐
  • 5分钟终结VC运行库安装难题:一站式解决方案深度解析
  • Lindy内容创作自动化:从零搭建抗衰减内容引擎的4层架构,含GitHub开源模板
  • Linux系统终极解决方案:Dislocker轻松访问BitLocker加密分区
  • AMBA 总线接口访问明细
  • Agent赋能下药物警戒自动生成的个例报告符合监管要求吗?深度拆解AI Agent在PV领域的合规边界
  • 178、运动控制中的行业标准:功能安全IEC 61508
  • 技术人的个人理财:从入门到精通
  • 微信聊天记录永久保存完整指南:WeChatExporter开源工具使用教程
  • 从零开发游戏需要学习的c#模块,第三十一章(技能冷却系统 —— 范围爆炸)
  • DroidCam OBS插件终极指南:让手机摄像头快速变身高清直播源