首页 > 其他分享 >个人感悟##C语言中的得与失

个人感悟##C语言中的得与失

时间:2024-10-01 22:50:16浏览次数:8  
标签:case ## 31 C语言 break 得与失 printf include day

个人练习感悟

1.三个任意整数从小到大排序

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b,c;
printf(“我可以为您进行从大到小排序,请任意输入三个的整数:”);
scanf(“%d%d%d”,&a,&b,&c);
if(a>b&&a>c)
if(b>c) printf(“%d,%d,%d”,a,b,c);
else if(b<c) printf(“%d,%d,%d”,a,c,b);
if(b>a&&b>c)
if(a>c) printf(“%d,%d,%d”,b,a,c);
else if(a<c) printf(“%d,%d,%d”,b,c,a);
if(c>a&&c>b)
if(a>b) printf(“%d,%d,%d”,c,a,b);
else if(a<b) printf(“%d,%d,%d”,c,b,a);
printf(“\n”);
return 0;
}

小结:
可以去除 if(…)只留下else,这样可以把相等的数包含进去
错误示例:没有if,直接在else后加(),这是错误写法,切记!!
当然,可能有更好的写法,但本小白还不知道(哭)

2.输入日期,可求出是这年的第几天

#include <stdio.h>
#include <stdlib.h>
int main()
{
int y,m,d,ey,day=0;
printf(“请输入日期(年-月-日):”);//计算该日期是这年的第几天
scanf(“%d-%d-%d”,y,m,d);
if((y%40&&y%100!=0)||(y%4000))
ey=29;
else ey=28;
switch(m)
{
case 12: day+=31;
case 11: day+=30;
case 10: day+=31;
case 9: day+=30;
case 8: day+=31;
case 7: day+=31;
case 6: day+=30;
case 5: day+=31;
case 4: day+=30;
case 3: day+=31;
case 2: day+=ey;
case 1: day+=31;
}
switch(m)
{
case 12: day-=31;break;
case 11: day-=30;break;
case 10: day-=31;break;
case 9: day-=30;break;
case 8: day-=31;break;
case 7: day-=31;break;
case 6: day-=30;break;
case 5: day-=31;break;
case 4: day-=30;break;
case 3: day-=31;break;
case 2: day-=ey;break;
case 1: day-=31;break;
}
day+=d;
printf(“%d”,day);
return 0;
}

小结:
吐血,调试结果是对的,但就是执行不了结果,是codeblocks的原因吗?
真给我整自闭了。
但是这个题利用了case的持续执行的特性,达到月份相加的效果,值得留意。

3.打印超级玛丽!

#include <stdio.h>
#include <stdlib.h>

int main()
{
printf(
" ********\n"
" \n"
" ####…#.\n"
" #…###…##…\n"
" ###…###### ### ###\n"
" … #…# #…#\n"
" ##
####### #.#.# #.#.#\n"
" ####
###### #.#.# #.#.#\n"
" …#
.
.###… #…# #…#\n"
" …
****##… ### ###\n"
" …
*****…\n"
" #### ####\n"
" ###### ######\n"
“##############################################################\n”
“#…#…#.##…#…#.##…#…#.##------------------#\n”
“###########################################------------------#\n”
“#…#…#…##…#…#…##…#…#…#####################\n”
“########################################## #----------#\n”
“#…#…##…#…##…#…# #----------#\n”
“########################################## #----------#\n”
“#.#…#…#…##.#…#…#…##.#…#…#…# #----------#\n”
“########################################## ############\n”
);
return 0;
}

小结:
直接复制大佬的代码,学到了C语言中多行字符串的写法,真不错
printf中()独自一行,每行为“… \n”的格式

3.输入一个字符,输出一个字符的三角形

#include <stdio.h>
#include <stdlib.h>

int main()
{
char c;
scanf(“%c”,&c);
printf(" %c\n",c);
printf(" %c%c%c\n",c,c,c);
printf(“%c%c%c%c%c%c\n”,c,c,c,c,c);
return 0;
}

吐槽:
洛谷上的题,自己运行最后一个字符一直是“?”,但洛谷判断我是对的,奇了个怪了,也先保留一下吧

                          #就这样先,人生不如意之事十有八九,不过是少许风霜罢了(doge)

标签:case,##,31,C语言,break,得与失,printf,include,day
From: https://blog.csdn.net/Superachieve/article/details/142618779

相关文章

  • MySQL 8.0修改密码
    MySQL8.0前修改密码在MySQL8.0前,执行:SETPASSWORD=PASSWORD('[新密码]')进行密码修改,在MySQL8.0后,以上的方法使用root用户修改别的用户密码是报错的,因为MySQL8.0后修改了修改密码的方式!mysql>usemysql;mysql>updateusersetpassword=password('新密码')whereuser=......
  • C语言 typedef
    概念在C语言中,typedef是一个关键字,用于为已有的数据类型定义一个新的别名。它本身并不创建新的数据类型,而是给现有的类型赋予一个更方便、更易理解或更符合项目特定需求的名字。基本用法基本数据类型别名例如,为unsignedint定义一个新的别名uint:typedefunsignedint......
  • 国内算力行业业态发展与趋势研究
    一、引言在当今数字化时代,算力作为数字经济的核心生产力,正成为推动各行业创新发展和转型升级的关键因素。随着人工智能、大数据、云计算等新兴技术的快速发展,国内算力技术行业也呈现出蓬勃发展的态势,市场规模不断扩大,产业链日益完善。本文对国内算力行业的业态发展和趋势进行研究,为......
  • Linux统计文件夹下的文件数目
    最近需要统计Linux系统中某个文件夹下的文件数目,而Linux系统下有三个命令:ls、grep、wc。通过这三个命令的组合,可以实现上述要求!统计当前目录下文件的个数(不包括目录)$ls-l|grep"^-"|wc-l递归统计当前目录下文件的个数(包括子目录)$ls-lR|grep"^-"|wc-l查看......
  • vite 快速入门指南
    相关链接演示地址源码地址vite官网地址Vite是什么Vite是由EvanYou(Vue.js创始人)开发的现代前端构建工具,专为提升开发体验而设计。它通过创新的开发模式和高效的构建流程,极大提高了开发效率,尤其在处理大型项目和复杂的前端框架时,表现出色。Vite的核心特点包括:......
  • flink 1.18.1编译问题处理
    编译命令:mvncleaninstall-DskipTests-Dspotless.check.skip=true-Drat.skip=true-Preleaseflink-runtime-web编译报错无法下载node、npm问题:[ERROR]Failedtoexecutegoalcom.github.eirslett:frontend-maven-plugin:1.11.0:install-node-and-npm(installnodea......
  • 循环结构#for语句以及穷举法#感悟
    ##for循环语句:for(表达式1;表达式2;表达式3)循环体语句;表达式1是初始值(先执行)表达式2是循环条件(决定是否继续执行)(再执行)循环体语句(接着执行)表达式3是改变循环条件(最后执行)说人话就是3改变1的初始值,使其不符合循坏条件,结束循环。(其实循环结构都是由真到假的过程)for语句......
  • 我们用等距投影制作了一个动画视频
    一家国际网络安全公司委托我们制作一部关于其网络安全产品的解释性视频。为了有效传达产品的价值给潜在客户和利益相关者,我们决定采用等距投影技术制作动画视频。等距投影是一种复杂的视觉呈现方式,它能够让人物和物体看起来具有三维效果,而无需使用真正的3D图形。这种方法以其......
  • 05-LoadBalancer负载均衡
    1.Ribbon目前也进入维护模式1.1Ribbon介绍SpringCloudRibbon是基于NetflixRibbon实现的一套客户端负载均衡的工具。简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简......
  • AT_abc373_e 的题解
    (一)二分套二分。(感觉是一个很麻烦的做法。)题目问的是让额外给的票最少,考虑二分答案。设二分的答案为\(x\),该候选人原来的得票为\(v\),想要超过他至少要\(x+v+1\)。同时用前缀和维护区间和。第一种情况为该候选人在前\(m\)个人中,如下图所示。绿色箭头为被讨论的人,蓝色箭......