怎样用c语言实现一次性输入时刻?比如输入12:45
根据需要一般选择如下3种方法:
1,已知数量,且个数较少:
scanf("%d%d%d",&a&b&c);
2,已知数量,但数量较多:
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
3,不知道数量
int i=0;
while(scanf("%d",&a[i]))
{
i++;
}
扩展资料:
scanf输入指南:
(1)在高版本的 Visual Studio 编译器中,scanf 被认为是不安全的,被弃用,应当使用scanf_s代替 scanf。
(2) 对于字符串数组或字符串指针变量,由于数组名可以转换为数组和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"操作符。
(3) 可以在格式化字符串中的"%"各格式化规定符之间加入一个整数,表示任何读操作中的最大位数。
(4) scanf函数中没有类似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企图用此语句输入小数为2位的实数。
(5) scanf中要求给出变量地址,如给出变量名则会出错
如 scanf("%d",a);是非法的,应改为scanf("%d",&a);才是合法的。
(6) 在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔。
C编译在碰到空格,TAB,回车或非法数据(如对“%d”输入“12A”时,A即为非法数据)时即认为该数据结束。
(7) 在输入字符数据(%c)时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。
#include
#include
int main()
{
char* buf = NULL; //动态分配 //char buf[1024]; //指定长度
char ch;
int len = 0,i;
printf("Please input some line:
");
while(scanf("%c",&ch)==1 && ch!=EOF && ch!='#'){ //定义一个结束符或者ctrl+z/d
//动态的实现
buf = (char*)realloc(buf,sizeof(char)*(len+1));
buf[len++] = ch;
//buf[len++] = ch; //指定长度
}
printf("reverse your input to print:
");
for(i=len-1;i>=0;i--){
printf("%c",buf[i]);
}
free(buf); //动态清除
return 0;
}
可以字符数组进行实现,代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char a[6];
printf("请输入时间:
");
gets(a);
printf("您输入的时间为:%s
",a);
system("pause");
return 0;
}
用C语言编程模拟处理机调度(实现一种算法)
include <stdlib.h> include <conio.h> define getpch(type) (type*)malloc(sizeof(type))define NULL 0 struct pcb { \/* 定义进程控制块PCB *\/ char name[10];char state;int super;int ntime;int rtime;struct pcb* link;}*ready=NULL,*p;typedef struct pcb PCB;void sort() \/* ...
如何用c语言实现:a,b,c三个事件,依次进行,每到a时就执行事件1,再到b...
典型的状态机结构,可以去网上找找有关的资料,大概的结构像这样 enum { state_A, state_B, state_C } state = state_A;while(1){ switch ( state ){ case state_A:if ( event_A ) \/\/ 这里也可以用switch { action_1(); \/\/ 在某状态下发生某事件执行某个动作,并转入下个...
如何用c语言编写一个程序,实现按从大到小的顺序排序输出10个数_百度知...
用选择排序法编写c语言,实现从键盘上输入10个数,按从大到小的顺序排序输出。代码如下:include<stdio.h> int main(){ int i,j,a[10],t;printf("输入数");for (i = 0; i < 10; i++)scanf("%d",&a[i]);for (i = 0; i < 10; i++){ for (j = i + 1; j < 10;j...
算法编程:用c语言实现
解决这类问题可以使用 回溯 算法,代码如下:include <stdio.h>#include <stdlib.h>#define M 6 \/\/ 候选数字个数#define N 5 \/\/ 组合后数字位数int check(int result[], int i){ for (int j = 0; j < N; j++) if (result[j] == i) return 0; return 1;}i...
用C语言实现输出一个字符串
一、题目大意为输出一个已知的字符串。解题思路:定义一个字符数组,并用“初始化列表”对其赋以初值 用循环逐个输出此字符数组中的字符 include <stdio.h> int main(){ char c[15]={'r',' ','i','g',' ','g',' ','h','t','u',};int i;for(i=0;i<15;i++)printf("A=%...
怎样用c语言编写一段程序实现奇数和呢?
1、解析题目首先,我们知道100以内的奇数为1、3、7……97、99,即从1开始依次增加2。本题要求的是奇数和,即为sum=1+3+7+……+97+99 将变量i从1开始,依次赋值每一个奇数,直到不符合条件(i<=100),即到i=99停止循环。将每一个i值依次累加,求得的和即为题目所求奇数和。2、设计程序...
用C语言实现36块砖,36人搬,男人一次搬4块,女人一次搬3块,两个小孩抬一...
男人一次搬4块,一共36块,那么需要男同志一次搬完就是36\/4=9 女人一次搬3块,一共36块,那么需要女同志一次搬完就是36\/3=12 看见了吗,8和11就是这么算出来的,穷举法就是保证男同志最多8人,女同志最多11人,加上小朋友的,看怎么凑出来,方程:4m+3w+c\/2=36 就可以了 ...
怎么用C语言实现对数组进行求和呢?
在C语言中,可以使用循环语句和条件语句来实现对序列2-4+6-8+…+98-100的求和。可以通过判断当前项的值和前一项的值符号是否相同来实现正负号的交替。以上代码中,我们定义了变量 i、sum、sign 和 term,其中 i 表示循环计数器,sum 表示求和的结果,sign 表示正负号,term 表示当前项的值。在循环...
用C语言编写解二元一次方程的程序?
假设的情况:输入没有错误;x 总是在前面,y 总是在后面;不存在某个变量系数为 0 的情况(即总是二元方程);不考虑小数,其实考虑小数也简单,你可以自己思考如何实现。首先,使用 scanf() 将回车之前的整个字符串扫描进来,放进 str 变量中;之后,分别以 x y = 为界,找到它们分隔的三个字符...
用c语言或c++编写编程实现生产者消费者或读写者的同步问题
实现一个队列CQueue CQueue提供两个公有成员函数 addTail():往队列尾部增加一个元素 removeHead():读出并移除队列的第一个元素 生产者:两个线程通过调用CQueue::addTail()往队列中增加元素 消费者:一个线程通过调用CQueue::removeHead()从队列中读取元素 include <iostream> include <list> include...
冉群结核: 可以字符数组进行实现,代码如下: #include <stdio.h> #include <stdlib.h> int main() {char a[6];printf("请输入时间:\n");gets(a);printf("您输入的时间为:%s\n",a);system("pause");return 0; }
台前县17398669251: c语言时间类函数怎么用,比如要求别人限时输入,显示现在的时间等?
冉群结核: 其它的我不知道,但你可以用clock()函数和kbhit()函数来实现限时输入,具体详情可以去百度百科. kbhit(): http://baike.baidu.com/view/932279.htm clock(): http://baike.baidu.com/view/1516611.htm
台前县17398669251: C语言里面的时间函数怎么用? - ?
冉群结核: 函数名: difftime 功 能: 计算两个时刻之间的时间差 用 法: double difftime(time_t time2, time_t time1); 程序例:include <time.h>
台前县17398669251: c语言如何多次输入 然后一次性输出 - ?
冉群结核: 1. 用循环语句多次读入. 最后再输出即可. 2. 例如:int a[100],i; for(i=0;i<100;i++) scanf("%d",a+i); //循环多次输入 for(i=0;i<100;i++) printf("%d ",a[i]); //一次性输出
台前县17398669251: c语言输入如何记时 - ?
冉群结核: 可以使用time()函数进行计时,开始时调用一次time()函数取得当前的时间,结束时再调用一次,然后求出二者的差就是从开始到结束经过的 时间.例如:#include #include void main() { time_t l; l=time(NULL);//此处插入要执行的代码 l=time(NULL)-l; printf("%ld",l);//这里将输出执行上面的代码所用的时间.}
台前县17398669251: 如何在C语言中实现计时 - ?
冉群结核: 以前做那个停车场管理系统的时候,也是需要计时,因为要收费..好像就这么记得.每个上机的人,应该有一个结构体,在结构体里设个计时的变量,可以是个只有两个元素的数组.当然这样会很不方便了.(因为需要你自己输入上机时间,和下机时...
台前县17398669251: 怎样在C语言中实现自动保存输入信息时的时刻记录 - ?
冉群结核: 你可以自己写个数据结构 用个链表存储起来啊 把你的手机号码作为比对 当遍历链表中的号码和你的存储的号码一致是就把时间取出来,这只是我的一个想法 其实这种功能的实现 看你自己想怎么实现 怎么实现开销最小 效率最高!
台前县17398669251: c语言,要求在限定时间内输入数据,怎么编 - ?
冉群结核: 我有一个想法可以实现,定义了计时,然后计时到的了之后用goto语句直接跳过接受输入的代码执行下面的代码
台前县17398669251: 如何用c语言实现date命令 - ?
冉群结核: 用系统自带的date命令就可以了.#include "stdafx.h"#include <stdlib.h> int main() { system("date"); return 0; }
台前县17398669251: 用C语写个 输入一个以秒为单位的时间,显示成小时:分钟:秒.例如:输入3600则显示1:0:0 - ?
冉群结核: #include <stdio.h> #define PRINTF_STR(str) printf("%s:",str); typedef unsigned int TIMEDATA ; int main() { TIMEDATA TotalSeconds = 0; TIMEDATA H=0,M=0,S=0;// 时分秒 while(true) { PRINTF_STR("请输入要转化的秒(0退出)") ...