目录
5-1 表达式求值:
#include<stdio.h>
int main(){
int a=1,b=2,c=3;
printf("%d#%d#",(a, b), a>b?(c=4):(c=5));
return 0;
}
这,直接在自己编译器跑一遍就出来了吧。 ¬_¬
5-2 学而不思则罔
#include <stdio.h>
int main(){
printf("学而不思则罔,\n");
printf("思而不学则殆。\n");
return 0;
}
tips:
全角是中文符号,占用2个字符。
半角则是英文的标点符号,占用1个字符。
(一字节有8位,共256个编码空间)
5-3 学须静也
#include<stdio.h>
int main(){
printf("夫学须静也,\n"
"才须学也。\n"
"非学无以广才,\n"
"非志无以成学。\n");
return 0;
}
5-4 一年之计在于春
#include<stdio.h>
int main(){
printf("一年之计在于春,\n");
printf("一日之计在于晨。\n");
return 0;
}
5-5
#include<stdio.h>
int main(){
int n;
double x;
scanf("%d-%lf",&n,&x);
printf("%.1f-%d\n",x,n);
return 0;
}
5-6
#include<stdio.h>
int main(){
char ch;
ch=getchar();
putchar('(');
putchar(ch);
putchar(')');
return 0;
}
5-7
#include<stdio.h>
int main(){
char ch;
int first=1,k,n;
scanf("%d\n",&n);
for(k=1;k<=n;k++){
ch=getchar();
if(first==k){
putchar(ch);
continue;
}else{
putchar(32);
putchar(ch);
}
}
return 0;
}
感觉这里加不加 continue; 都无所谓,我只是不知道要填啥了,我不喜欢这种填空题,要揣摩别人的想法,明明可以更简单,为了考 putchar 和 getchar 两个函数搞得这么麻烦。
我平时也不怎么用这两个函数,还有后面的 puts() 和 gets() 就当补缺吧U_U
好,上面方法中,continue; 作用不大,换一个方法,然后,这个和标答思路差不多
这两个思路区别是,一个变的是 k ,一个变的是 first
#include<stdio.h>
int main(){
char ch;
int first=1,k,n;
scanf("%d\n",&n);
for(k=1;k<=n;k++){
ch=getchar();
if(first==1){
putchar(ch);
first++;
}else{
putchar(32);
putchar(ch);
}
}
return 0;
}
tips:
我之前用 putchar(0); 是错的,在ASCII码中,0对应的是空字符,而不是空格,空格的ASCII码是32,但是在Dev c++ 中,输出的内容是一样的
5-8 善学者尽其理,善行者究其难
#include<stdio.h>
int main(){
printf("善学者尽其理,善行者究其难。\n");
return 0;
}
5-9 业精于勤荒于嬉
#include<stdio.h>
int main(){
puts("业精于勤荒于嬉,");
puts("行成于思毁于随。");
return 0;
}
啧,老师,我悟了。
tips:
相比于 printf() 函数, puts() 函数在输出字符串时会将’\0’自动转换成’\n’进行输出,也就是说,puts() 函数输出完字符串后会自动换行。
5-10 若希望输出墨子的名言
#include<stdio.h>
int main(){
puts("志不强者智不达,");
puts("言不信者行不果。");
return 0;
}
5-11
别急,待我明天想想,今天肝不动了(= ̄ ρ ̄=) ..zzZZ
这道题,我喜欢,细讲一下。:]
这个明天就很久,
这个考的是位运算,之前发过投票,不需要讲的居多,我就认为大家都懂
#include "stdio.h"
int main(){
char a=((char)1<<(sizeof(char)*8-1));
short b=((short)1<<(sizeof(short)*8-1));
int c=((int)1<<(sizeof(int)*8-1));
long d=((long)1<<(sizeof(long)*8-1));
long long e=((long long)1<<(sizeof(long long)*8-1));
printf("char:[%d,%d,%u]\n",a,-a-1,((a-1)<<1)+1);
printf("short[%hd,%hd,%hu]\n",b,b-1,((b-1)<<1)+1);
printf("int:[%d,%d,%u]\n",c,c-1,((c-1)<<1)+1);
printf("long:[%ld,%ld,%lu]\n",d,d-1,((d-1)<<1)+1);
printf("long long:[%lld,%lld,%llu]\n",e,e-1,((e-1)<<1)+1);
return 0;
}
5-12
#include<stdio.h>
int main(){
int t,b;
scanf("%d",&t);
b=((8+t)%24);
printf("%d",b);
return 0;
}
这道题,我有两个顾虑,
首先,题目的时间是24小时制还是12小时制。先按二十四小时制来吧。
还有就是,0点和24点写那个,可能是想得太多了O_O
5-13
#include<stdio.h>
int main(){
int a,b;
scanf("%d",&a);
b=a%10+a/10;
printf("%d",b);
return 0;
}
篇尾
又是一个兴奋难眠的夜晚,话说夜猫子算是一种病吗 눈_눈
我觉得这次填空题非常水,基本上全是考输入、输出,Ctrl+C、Ctrl+V一下题干就可以了,应该是每次侧重点不一样吧!
填空这种东西,我也不好说,可能我比较喜欢自己敲,不太喜欢揣摩别人的思路吧!
最后,我只是提供一种思路,如果有更好的方法,欢迎评论。