1.混合类型数据格式化输入
本题要求编写程序,顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
输入格式:
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出格式:
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
#include<stdio.h>
int main(){
float f1,f2;
int i;
char c;
scanf("%f %d %c %f",&f1,&i,&c,&f2);
printf("%c %d %.2f %.2f",c,i,f1,f2);
return 0;
}
发现写代码的时候真的非常适合查漏补缺,重要的事情说三遍:
想到不太记得的知识点一定要马上查!
想到不太记得的知识点一定要马上查!
想到不太记得的知识点一定要马上查!
2.冒泡法排序
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。
本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。
输入格式:
输入在第1行中给出N和K(1≤K<N≤100),在第2行中给出N个待排序的整数,数字间以空格分隔。
输出格式:
在一行中输出冒泡排序法扫描完第K遍后的中间结果数列,数字间以空格分隔,但末尾不得有多余空格
#include<stdio.h>
int main(){
int i,j,k,b,c;
scanf("%d %d",&k,&j);
int a[k];
for (i=0;i<k;i++){
scanf("%d",&a[i]);
}
for(b=0;b<j;b++){
for(c=0;c<k-b-1;c++){
if(a[c]>a[c+1]){
int temp=a[c+1];
a[c+1]=a[c];
a[c]=temp;
}
}
}
for(i=0;i<k;i++){
printf("%d",a[i]);
if(i<k-1)
printf(" ");
}
}
这也是一道很普通的冒泡排序,不过要注意小细节,比如要按题意说最后一个数字后不能有空格,否则会有格式错误 。
3.超速判断
模拟交通警察的雷达测速仪。输入汽车速度,如果速度超出60 mph,则显示“Speeding”,否则显示“OK”。
输入格式:
输入在一行中给出1个不超过500的非负整数,即雷达测到的车速。
#include<stdio.h>
int main(){
int speed;
scanf("%d",&speed);
if(speed<=60){
printf("Speed: %d - OK",speed);
}else printf("Speed: %d - Speeding",speed);
}
4.单词长度
你的程序要读入一行文本,其中以空格分隔为若干个单词,以.
结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's
算一个单词,长度为4。注意,行中可能出现连续的空格;最后的.
不计算在内。
输入格式:
输入在一行中给出一行文本,以.
结束
提示:用scanf("%c",...);
来读入一个字符,直到读到.
为止。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
#include<stdio.h>
int main(){
char c;
int b=0;
while(1){
int a=0;
scanf("%c",&c);
while(c!=' '&&c!='.'){
a++;
scanf("%c",&c);
}
if(a!=0){
b++;
if(b==1)
printf("%d",a);
else
printf(" %d",a);
}
if(c=='.') break;
}
}
5.12-24小时制
编写一个程序,要求用户输入24小时制的时间,然后显示12小时制的时间。
输入格式:
输入在一行中给出带有中间的:
符号(半角的冒号)的24小时制的时间,如12:34
表示12点34分。当小时或分钟数小于10时,均没有前导的零,如5:6
表示5点零6分。
提示:在scanf
的格式字符串中加入:
,让scanf
来处理这个冒号。
输出格式:
在一行中输出这个时间对应的12小时制的时间,数字部分格式与输入的相同,然后跟上空格,再跟上表示上午的字符串AM
或表示下午的字符串PM
。如5:6 PM
表示下午5点零6分。注意,在英文的习惯中,中午12点被认为是下午,所以24小时制的12:00
就是12小时制的12:0 PM
;而0点被认为是第二天的时间,所以是0:0 AM
。
#include<stdio.h>
int main(){
int hour,minute,flag=0;
scanf("%d:%d",&hour,&minute);
if(hour>12){
hour-=12;
flag=1;
}
if(hour>=12){
flag=1;
}
if(flag==1){
printf("%d:%d PM",hour,minute);
}else
printf("%d:%d AM",hour,minute);
}
今天还是写的比较基础的c语言内容,因为想先复习一些基本知识,确实有些知识已经比较模糊了,明天开始准备复习数组和一些数据结构的内容啦。