`
sjgau
  • 浏览: 97169 次
  • 性别: Icon_minigender_1
  • 来自: 台灣省 台北市
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

兩個常用的副程式:skip(), pause()

c 
阅读更多
// for skip(), pause()

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
// ----------------------------------------------

//   skip(-3);
void skip(int no)
{
	// limits no in 1 .. 20
	if ((no >= 1) && (no <= 20)) {// no is OK!
		for (int i=1;i<=no;i++) {
			// printf("i= %5d, no= %5d\n", i, no);

			printf("\n");
		}
	}
	else {// no is invalid!
		// printf("\n\n\n *** error in skip(), no= %5d\n", no);
		// system("pause");

		printf("\n");
	}
}// end of skip()
// ----------------------------------------------

//   pause();
void pause(void)
{
	int ch1;

	// remove type- ahead
	while (_kbhit()) {
		_getch();
	}
	// ----------------------------------------------

	printf(" Press any key to continue, [Esc] key to exit... ");
	do {
		// wait for key pressed
	} while (!_kbhit());
	ch1= _getch();
	printf("\n");
	// ----------------------------------------------

	if (ch1==0x1b) {// [Esc] key be pressed!
		exit(1);
	}

	// remove extra key pressed
	while (_kbhit()) {
		_getch();
	}
}// end of pause()
// ----------------------------------------------

void main()
{
	skip(3);

	for (int i=1;i<=20;i++) {
		skip(i);
		printf("i= %5d, i*i= %5d, sqrt(i)= %10.6lf\n", 
			i, i*i, sqrt(i));
		pause();
	}
	pause();
}// end of main()


分享到:
评论
2 楼 sjgau 2007-12-20  
以下為 時間測量的輸出

// file: psc51.cpp
// for time1(), time2()

/*

ct1=   1, no=           10, sum=           55, t1= 13917990, dt=   0.0000
ct1=   2, no=           30, sum=          465, t1= 13917990, dt=   0.0000
ct1=   3, no=           90, sum=         4095, t1= 13917990, dt=   0.0000
ct1=   4, no=          270, sum=        36585, t1= 13917990, dt=   0.0000
ct1=   5, no=          810, sum=       328455, t1= 13917990, dt=   0.0000
ct1=   6, no=         2430, sum=      2953665, t1= 13917990, dt=   0.0000
ct1=   7, no=         7290, sum=     26575695, t1= 13917990, dt=   0.0000
ct1=   8, no=        21870, sum=    239159385, t1= 13917990, dt=   0.0000
ct1=   9, no=        65610, sum=  -2142598441, t1= 13917990, dt=   0.0000
ct1=  10, no=       196830, sum=  -2103713615, t1= 13917990, dt=   0.0000
ct1=  11, no=       590490, sum=  -1754143841, t1= 13917990, dt=   0.0000
ct1=  12, no=      1771470, sum=   1390803145, t1= 13917990, dt=   0.0100
ct1=  13, no=      5314410, sum=   -372987993, t1= 13918000, dt=   0.0300
ct1=  14, no=     15943230, sum=    922132129, t1= 13918030, dt=   0.0900
ct1=  15, no=     47829690, sum=   -338575121, t1= 13918120, dt=   0.2700
ct1=  16, no=    143489070, sum=   1104302137, t1= 13918390, dt=   0.8120
ct1=  17, no=    430467210, sum=    918317431, t1= 13919202, dt=   2.4130
ct1=  18, no=   1291401630, sum=  -1616479343, t1= 13921615, dt=   7.3110

*** end of program!
Press any key to continue
  */

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/timeb.h>
#include <time.h>
// ----------------------------------------------

#include "sj01.h"
#include "sj02.h"
// ----------------------------------------------

void main()
{
	int no, sum, i, ct1= 0;
	long t1;
	double dt;
	// ----------------------------------------------

	no= 10;
	skip(3);
	while (no > 0) {
		time1(&t1);

		sum= 0;
		for (i=1;i<=no;i++) {
			sum+= i;
		}
		time2(t1, &dt);
		// ----------------------------------------------

		ct1++;
		printf("ct1= %3ld, no= %12ld, sum= %12ld, t1= %8ld, dt= %8.4lf\n", 
			ct1, no, sum, t1, dt);

		if (dt > 0) {
			// pause();
		}

		if (ct1>=16) {
			// break;
		}

		no*= 3;
	}

	skip(1);
	printf("*** end of program!\n");
}// end of main()



1 楼 sjgau 2007-12-20  
將自己寫的副程式放到外面的檔案,
分開編譯


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <math.h>

#include "sj01.h"
// ----------------------------------------------

void main()
{
	skip(1);
	for (int i=1;i<=20;i++) {
		skip(i);
		printf("i= %5d, i*i= %5d, sqrt(i)= %10.6lf\n", 
			i, i*i, sqrt(i));
		pause();
	}
}// end of main()

相关推荐

    k8s.gcr.io/pause:3.1镜像包

    kubernetes的k8s.gcr.io/pause:3.1镜像包,版本为3.1。文件是pause_3_1.tar

    kubernetes pause基础镜像 3.0版本 pause.tar

    k8s pause容器镜像3.0,有需要直接下载使用,docker load -i pause.tar

    k8s pause-3.1

    pause-3.1镜像,镜像使用方法: docker load -i pause-3.1.tar.gz

    App-PAUSE-TimeMachine

    App::PAUSE::TimeMachine 提供了一个 PSGI Web 应用程序代码引用,您可以在自己的应用程序中使用它或应用您想要应用的任何中间件。 my $app = App::PAUSE::TimeMachine-&gt;new-&gt;psgi_app; 作者 宫彦 版权 版权所有 ...

    jquery.pause让动画模块暂停各恢复运行示例.rar

    jQuery 本身的动画只有停止的功能,一但停止(stop)后就无法自动接着做未做完的动画内容。 因此Pause插件扩充了animate() 的功能,让它可以...两个新的不带任何参数的方法被添加到每一个jQuery对象:pause()和resume()。

    下一个监视器:监视PAUSE中是否有新的tarball

    标题“下一个监视器:监视PAUSE中是否有新的tarball”暗示了一个使用Perl编写的监控脚本,其目标是检测一个名为“PAUSE”的特定目录或系统状态,看是否有新的tarball(通常是Linux/Unix环境下用于打包文件的归档格式...

    k8s.gcr.io/pause:3.1

    使用方法请关注blog: https://blog.csdn.net/wenwst 导入命令: #docker load &lt; pause.3.1.tar # docker tag da86e6ba6ca1 k8s.gcr.io/pause:3.1

    ZEBRA斑马条码打印机测纸及恢复

    1、 Zebra S600恢复出厂设置:按住PAUSE和FEED 开机,约3秒钟,按MODE4下,保存调校值, 返回打印模式,关机,再开机。 Zebra S600测纸:按MODE键,到CALIBRATE(测纸指示灯)亮,然后,按FEED键。 2、 Zebra Z4000...

    C語言的程式碼

    从给定的C语言代码示例中,我们可以深入解析并学习到多个重要的编程知识点和技巧。下面将逐一分析每一题的代码,提炼出其中的关键概念和技术要点。 ### 第一题:数字逆序输出 该段代码实现了从用户输入的一个整数...

    pause_3.1.tar

    k8s.gcr.io/pause:3.1镜像tar包,使用 docker load --input pause_3.1.tar进行导入

    pause-3.2.tar.gz

    │ ├── pause-3.2.tar.gz │ └── pod2daemon-flexvol-v3.15.1.tar.gz ├── save.sh └── server ├── cni-v3.15.1.tar.gz ├── coredns-1.6.7.tar.gz ├── etcd-3.4.3-0.tar.gz ├── kube-api...

    C语言中的pause()函数和alarm()函数以及sleep()函数

    C语言pause()函数:让进程暂停直到信号出现 头文件: #include 定义函数: int pause(void); 函数说明:pause()会令目前的进程暂停(进入睡眠状态), 直到被信号(signal)所中断. 返回值:只返回-1. 错误代码:...

    XP cmd常用 命令

    * PAUSE:暂停批文件的处理并显示消息。 * POPD:还原 PUSHD 保存的当前目录的上一个值。 * PRINT:打印文本文件。 * PROMPT:更改 Windows 命令提示符。 * PUSHD:保存当前目录,然后对其进行更改。 * REM:记录批...

    bat程式高级教程[定义].pdf

    - `REM` 和 `::`: 这两个命令用于在批处理文件中添加注释。 - `ECHO` 和 `@`: `ECHO` 用于控制命令行是否显示命令本身,`@` 在命令前用于抑制命令行提示符的显示。 - `PAUSE`: 停止批处理的执行,等待用户按键后...

    pause-3.9-x86-64.tar

    docker load -i pause-3.9-x86_64.tar

    windows常用cmd命令大全.pdf

    * DISKCOMP:比较两个软盘的内容 * DISKCOPY:将一个软盘的内容复制到另一个软盘 * FORMAT:格式化磁盘,以便跟 Windows 使用 系统管理 * AT:计划在计算机上运行的命令和程序 * BREAK:设置或清除扩展式 CTRL+C ...

    pause.rarpause.rarpause.rar

    在压缩包子文件的文件名称列表中,我们有两个文件:"pause.tar"和"k8s集群学习.txt"。".tar"文件是Unix/Linux系统中常见的归档格式,用于打包多个文件和目录。它本身不包含压缩,但常常与其他压缩算法(如gzip或bzip...

    vagrant-macos:适用于:pause_button:Parallels提供商的macOS Vagrant盒

    描述 "vagrant-macos:适用于:pause_button:Parallels提供商的macOS Vagrant盒" 重申了这个项目的目标,即提供一个与 Parallels Desktop 兼容的 Vagrant 盒子,用于构建macOS开发环境。 标签进一步揭示了项目的关键...

    Windows批处理:自动部署常用软件(静默安装).txt

    - **Flash播放器**:针对不同浏览器版本提供两个安装程序。 - IE版本: ```batch start /wait \\192.168.1.100\Public\Software\flashplayer_IE.exe /install ``` - 非IE版本: ```batch start /wait \\192....

Global site tag (gtag.js) - Google Analytics