目录
引言
题目简单,就简化代码(ノ๑`ȏ´๑)ノ︵
7-1 三角形面积 (10 分)
#include<stdio.h>
int main(){
double b=0,h=0;
scanf("%lf %lf",&b,&h);
printf("%.2lf",(0.5)*b*h);
return 0;
}
7-2 黑白三子棋局 (10 分)
#include<stdio.h>
int main(){
printf("┏━┯━┯━┓\n┃○│ │○┃\n┠─┼─┼─┨\n┃ │○│●┃\n┠─┼─┼─┨\n┃●│●│ ┃\n┗━┷━┷━┛\n");
return 0;
}
可能编译器输出结果不尽人意,按照提示要求修改一下就好了
7-3 十进制转八进制 (5 分)
#include<stdio.h>
int main(){
unsigned int n=0;
scanf("%u",&n);
printf("%o",n);
return 0;
}
关于%o、%x、%e、%g等格式符的作用,请看格式输入输出中格式符的含义
7-4 统计报表(1) (10 分)
#include<stdio.h>
int main(){
int i=0,n_1=0,n_2=0,n_3=0,n_4=0,sum=0;
printf("┌───┬───┐\n│ 季度 │ 销量 │\n");
scanf("%d",&n_1);
printf("├───┼───┤\n");
printf("│一季度│%6d│\n",n_1);
scanf("%d",&n_2);
printf("├───┼───┤\n");
printf("│二季度│%6d│\n",n_2);
scanf("%d",&n_3);
printf("├───┼───┤\n");
printf("│三季度│%6d│\n",n_3);
scanf("%d",&n_4);
printf("├───┼───┤\n");
printf("│四季度│%6d│\n",n_4);
sum=n_1+n_2+n_3+n_4;
printf("├───┼───┤\n│ 全年 │%6d│\n└───┴───┘",sum);
return 0;
}
这道题我本来只想用一个 for 循环解决的,但是测试时发现我不会中文字符的递增 (ー_ー)!!
为此,我查了一下 中文是字符型变量吗 ,百度给出的结果,中文是只能是常量,只能当字符串使用,所以不能通过简单的 i++ ,来实现中文数字的递增,当然有办法可以实现,只是放到这题里大材小用了
7-5 输出漏斗图形 (10 分)
#include<stdio.h>
int main(){
printf("*********\n *******\n *****\n ***\n *\n ***\n *****\n *******\n*********\n");
return 0;
}
注意空格 ,最喜欢打印图形的题,这个太简单了
7-6 交换两实数的整数部分 (10 分)
#include<stdio.h>
int main(){
double a=0,b=0,c=0,d=0;
scanf("%lf %lf",&a,&b);
c=(int)b+a-(int)a;
d=(int)a+b-(int)b;
printf("%.2lf,%.2lf",c,d);
return 0;
}
这里可以只用定义三个变量
7-7 爱音乐 (5 分)
#include<stdio.h>
int main(){
char ch[3]={73,3,14};
printf("%s",ch);
return 0;
}
嘿嘿,记住了, •̀.̫•́✧)╭☞ ♥ 的 ASCII 码为 3
并且在 Windows 10 操作系统中,需要将运行窗口中的字体设置为点阵字体、将字号设置为 8x16,才能正常显示。
7-8 输入输出控制 (10 分)
#include<stdio.h>
int main(){
char a=0;
unsigned short b=0;
int c=0,m=0,n=0;
float d=0;
double e=0;
m=scanf("%c%*c%hu%*c%d%*c%f%*c%lf",&a,&b,&c,&d,&e);
printf("%d\n",m);
m=printf("%c,%hu,%d,%.3f,%.3lf\n",a,b,c,d,e);
printf("%d\n",m-1);
printf("%d\n",sizeof(a)+sizeof(b)+sizeof(c)+sizeof(d)+sizeof(e));
return 0;
}
tips:
%*c 可以直接跳过一个字符
n=scanf() 可以表示输出成功读取到n个数
m=printf() 可以表示输出的内容占用m个字符位置
7-9 你好,又是你。 (15 分)
#include<stdio.h>
int main(){
long n=0;
scanf("%ld",&n);
printf("%.1lf%%",(5000.0/n)*100.0);
return 0;
}
又是一个看着麻烦,实际上非常简单的题,就是一个除法(⍥(⍥(⍥(⍥(⍥;;)
篇尾
打印图形,对循环的掌握程度要求比较高,但是,相比与其他代码,写出来更有成就感,比如可以控制大小的爱心之类的,
下面附一个可以控制大小的圣诞树图形的代码
#include<stdio.h>
int main(){
int i=0,j=0,k=0,n=0;
scanf("%d",&n);
for(i=1;i<=n;i++){
//树节i
for(j=1;j<=i+1;j++){
// 每节层数 j
for(k=1;k<=n-j+1;k++){
printf(" ");
}
for(k=1;k<=2*j-1;k++){//每层*数目
printf("*");
}
printf("\n");//每层换行
}
}
for(j=0;j<n;j++){
for(i=0;i<=n;i++){
if(i==n)printf("*\n");
else printf(" ");
}
}
return 0;
}