目录
前言
一、C语言例题(4~10)
二、总结
来了来了,续上上次剩下的七道例题,刚才也稍稍更新了一下上次100例程的内容,今天就是继续讲1~10里面的剩下7道,以后都是一次性发布10道例题,数量质量也会有保证,保证直接能用,但是建议还是自己手动操作比较好O(∩_∩)O哈哈~,好了,直接进入正题。
程序4:
题目:输入某年某月某日,判断这一天是这一年的第几天?
分析:利用switch判断月份得出基础天数,再进行基础天数与当月天数相加,另外判断是否闰年还是平年,闰年则总天数加1。注意输入逗号是英文的逗号
/* 题目:输入某年某月某日,判断这一天是这一年的第几天? */ #include "stdio.h" int main() { int year,month,day,sum,leap; printf("请输入年月日,格式:2021,9,4\n"); aaa: scanf("%d,%d,%d",&year,&month,&day); switch(month) { case 1: sum=0;break; case 2: sum=31;break; case 3: sum=59;break; case 4: sum=90;break; case 5: sum=120;break; case 6: sum=151;break; case 7: sum=181;break; case 8: sum=212;break; case 9: sum=243;break; case 10: sum=273;break; case 11: sum=304;break; case 12: sum=334;break; default: printf("输入错误,请重新输入\n");goto aaa; break; } sum=sum+day; if(year%400==0||(year%4==0&&year%100!=0)) leap=1; else leap=0; if(leap==1) sum++; printf("这一天是今年的第%d天\n",sum); }
程序5:
题目:输入三个整数 x,y,z,请把这三个数由小到大输出
分析:简单的数字大小比较,利用if进行判断后互相赋值即可排序
/* 题目:输入三个整数 x,y,z,请把这三个数由小到大输出。 */ #include "stdio.h" int main() { int a,b,c,x; printf("请输入3个数字,格式:12,23,34\n"); scanf("%d,%d,%d",&a,&b,&c); if(a>b) { x=a; a=b; b=x; } if(a>c) { x=a; a=c; c=x; } if(b>c) { x=b; b=c; c=x; } printf("三个数从小排到大:%d<%d<%d\n",a,b,c); }
程序6:
题目:用*号输出字母 A的图案
分析:直接利用printf即可完成,注意位置即可
/* 题目:用*号输出字母 A 的图案。 */ #include "stdio.h" int main() { printf(" *\n"); printf(" * *\n"); printf(" *******\n"); printf(" * *\n"); printf(" * *\n"); }
程序7:
题目:输出特殊图案,请在 c 环境中运行
分析:这里大家可以自由发挥,主要知道字符共有 256 个,但是这里因为ASCII码只有127个。128以后的是扩展ASCII码,一般在欧洲语言中表示一般特殊字母或符号,在中国用来把两个这样的码拼成一个汉字。128-255是非打印字符(即会显示一些你看不懂的汉字,当然文学大佬除外)。
/* 题目:输出特殊图案,请在 c 环境中运行,看一看,Very Beautiful! 字符共有 256 个。不同字符,图形不一样 */ #include "stdio.h" int main() { char a=126,b=223; printf("%c%c%c%c%c\n",a,b,a,b,a); printf("%c%c%c%c%c\n",b,b,a,b,b); printf("%c%c%c%c%c\n",a,b,b,b,a); printf("%c%c%c%c%c\n",a,a,a,b,a); }
程序8:
题目:输出 9*9 口诀
分析:相信大家都不会陌生,小学的99乘法表哈哈;利用for循环控制行和列的输出,比较简单
/* 题目:输出 9*9 口诀 */ #include "stdio.h" int main() { int i,j,result; printf("\n"); for (i=1;i<10;i++) { for(j=1;j<(i+1);j++) { result=i*j; printf("%d*%d=%-3d",j,i,result);/*-3d 表示左对齐,占 3 位*/ } printf("\n");/*每一行后换行*/ } }
程序9:
题目:要求输出国际象棋棋盘
分析:国际象棋棋盘8*8利用for循环和判断是否在偶数位输出棋盘,其中正常来说如果利用ASCII码219的话打印会出现乱码,所以干脆直接采用"■""□"很明显可以输出,或者利用printf("%c%c", '\xA1', '\xF6')输出一个黑格子(代码中已经给注释掉的,可以自行调试)
/* 题目:要求输出国际象棋棋盘8*8。 */ #include "stdio.h" int main() { int i,j; for(i=0;i<8;i++) { for(j=0;j<8;j++) if((i+j)%2==0) printf("■"); // printf("%c%c", '\xA1', '\xF6'); else printf("□"); printf("\n"); } }
程序10:
题目:打印楼梯,同时在楼梯上方打印两个笑脸
分析:也是利用for循环简单进行设置一个循环,这里主要还是考察一下对循环结构的使用与熟悉
/* 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 */ #include "stdio.h" int main() { int i,j; printf("\n"); printf("~^o^~ ~^o^~\n");/*输出两个笑脸*/ for(i=1;i<11;i++) { for(j=1;j<=i;j++) printf("■"); printf("\n"); } }
哈哈,抓紧补上前面漏掉的7个程序,尽快把100个程序更完,加油
前面这几章主要还是比较基础的运用,特别是for,if,switch,scanf,printf,还有我额外加进去的goto的使用,大家可以尽情熟悉,希望对大家能够有所帮助,同时希望大家也能够一起探讨学习,虽然是基础,但是一定要学得扎实才行!
大家对题目有什么其他见解或者想法欢迎随时到评论区留言,别忘了给博主点点赞,你的每一次动动手指,都是我不断码文的前进动力!
题外话:
挺喜欢彭于晏说的一句话:“我就是没有才华,所以才用命去拼!”
学习32之路固然辛苦,但要是坚持下来了,那不是很酷?哈哈哈