c++语言程序中想输入一批数求职信应该怎么写写

信息不存在.共有 7844 人关注过本帖
标题:C语言经典程序,输入10个数输出其中最大的一个数
等 级:论坛游民
帖 子:34
专家分:29
结帖率:100%
&&已结贴√
&&问题点数:10&&回复次数:23&&&
C语言经典程序,输入10个数输出其中最大的一个数
今天学到第二章结尾,碰到一道题“输入10个数,并输出其中最大的数”(万恶的难度提前的练习)
。。。解题。。。总是错误,没办法去百度,结果粘贴了不少,却仍是编译错误,来到论坛看到有一个这样的帖子,里面的答案虽然思路正确,但仍通不过编译。
汗。。。我用的是 VC++6.0 ,也许系统的缘故吧!
最后没办法,只好自己埋头苦干,在看了书中 数组 的部分内容和练习后,终于满头大汗的编译通过(谭浩强老师的书就是好)
现把程序代码 和 说明发下,如果有碰到这个难题的朋友和童鞋,一起分享下,相互交流才能共同进步嘛!!!
#include&stdio.h&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//方法为 起泡法
void main()
&&& int a[10];
&&& int i, j,
&&& printf(&Please input the number 10 : \n&);&&//请输入10个数
&&& for (i=0; i&10; i++)
&&&&&&&&scanf(&%d&,&a[i]);
&&& printf(&\n&);
&&& for (j=0; j&9; j++)&&&&&&&&&&&&&&&&&&&&&&&& //进行9次循环,实现9趟比较(注:因为数组a[10]中是不存在下标 10 的)
&&&&&&&&for(i=0; i&9-j; i++)&&&&&&&&&&&&&&&&&&&&//在每一趟中进行9-j次比较(注:每一趟下标从0~9 还是10个数)
&&&&&&&&&&&&if(a[i]&a[i+1])&&&&&&&&&&&&&&&&&&&&&//相邻两个数比较
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& t=a[i];&&&&&&&&&&&&&&&&&&&&&&&& //t、a[i]、a[i+1]相互赋值
&&&&&&&&&&&&&&& a[i+1]=t;
&&&&&&&&&&&&}
&&&&&&&&&&&&printf(&The shop for :%d\n&,t);&&&&&//输出赋值后的 t
&&&&&&&&&&&&printf(&Thank you for your use! \n&);
在我的VC++6.0 完美通过。。。
搜索更多相关主题的帖子:
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
在本论坛搜索关键字【最大数】, 有N多种方案
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
来 自:中国
等 级:蜘蛛侠
帖 子:314
专家分:1314
如果只需要输出最大值,上面的方法就太多余了
#include &cstdio&
int main ()
&&&&&//输入的个数
&&& int a[100];&&//储存输入的数
&&&&&//最大值
&&& printf(&请输入个数:&);
&&& scanf(&%d&,&n);
&&& for(i=0;i&n;i++)
&&&&&&&&scanf(&%d&,&a[i]);
&&& s=a[0];&&&&&&
&&& for(i=1;i&n;i++)
&&&&&&&&if(a[i]&s)
&&&&&&&&&&&&s=a[i];&&//然后依次从第二个数与当前最大值比较,大于就替换。
&&& printf(&最大值是:%d\n&,s);
&&& return 0;
等 级:论坛游民
帖 子:34
专家分:29
回复 3楼 hnuhsg1226
3 楼的解比我的好多了,谢谢,借鉴啦,刚学不久,以后请多帮忙
来 自:中国
等 级:蜘蛛侠
帖 子:314
专家分:1314
回复 4楼 yuhaibinhf
哈哈,我也只是刚入门而已
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
程序代码:#include &stdio.h&
int main() {
&&& foat j,
&&& printf(&How many numbers do you want to input? &);
&&& scanf(&%d&, i);
&&& printf(&Pease input %d numbers.\n&, i);
&&& printf(&& &);
&&& scanf(&%d&, &k);
&&& for (; i &&&<font color=#; i--) {
&&&&&&&&printf(&& &);
&&&&&&&&scanf(&%d&, &j);
&&&&&&&&if (j & k) {
&&&&&&&&&&&&k =
&&& prinf(&The biggest number is %d\n&, k);
&&& return <font color=#;
[ 本帖最后由 voidx 于
13:53 编辑 ]
等 级:论坛游侠
帖 子:139
专家分:137
多交流才会进步快……
等 级:论坛游民
帖 子:34
专家分:29
回复 7楼 张敏樱木花道
6 楼的程序 运行出错,没太看明白
来 自:邯郸
等 级:火箭侠
帖 子:1250
专家分:3538
不好意思,之前漏掉一个 ;
思路就是把第一个输入的数字放进变量 k 里面,之后每读取一个数字就和变量 k 比较,保证 k 是已经输入的所有数字中最大的。
所有数字输入之后 k 自然也就是最大值。printf() 就可以了。
[ 本帖最后由 voidx 于
13:56 编辑 ]
等 级:新手上路
恩,学习学习。。。。
版权所有,并保留所有权利。
Powered by , Processed in 0.023893 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved在C++程序中该怎么样求两个数的最大公约数_百度知道
在C++程序中该怎么样求两个数的最大公约数
请用C++语言表示,并做出注释,
提问者采纳
辗转相除法求最大公约数:int a,b,r;cin&&a,b;//输入a,b,即所求的两个数r=a%b;while(r){a=b;b=r;r=a%b;}//辗转相除//返回b,即为两者最大公约数
其他类似问题
为您推荐:
最大公约数的相关知识
其他2条回答
//最好先判断a,b是否是正整数if(a&b)i=b;else i=a;
//i=a,b中较小的一个for(;i=1;i--){if((b%i==0)&&(a%i==0))
//如果i能同时被a,b整除,返回i
//如果不能,i--够详细了吧:)
1.合法的标识符由字母,数字和下划线组成,并且第一个字母必须是字母或下划线.2.常量分{整型,实型,字符型和字符串型;即使整型常量也有短整型长整型... 整型和实型也称数值型,它们有正负之分.a小数形式;
即使在数学中常用的实数形式,由数字和小数点组成(注意:必须要有小数点),如0.123;.123;123.;0.0等都是合法的实型常量.b指数形式
这种形式类是于数学中的指数型式,再数学中,一个数可以用幂的形式来表示,如2.3026可以表示为0.2306*10n
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁对不起,文章信息已删除或未审核。页面导航:
→ 正文内容 linux shell脚本
linux c程序中获取shell脚本输出的实现方法
以下是对在linux下c程序中获取shell脚本输出的实现方法进行了详细的分析介绍,需要的朋友可以过来参考下
1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果。例如,执行外部命令ping后,如果执行失败,我们希望得到ping的返回信息。
2. 使用临时文件首先想到的方法就是将命令输出重定向到一个临时文件,在我们的应用程序中读取这个临时文件,获得外部命令执行结果,代码如下所示: 代码如下:#define CMD_STR_LEN 1024int mysystem(char* cmdstring, char* tmpfile){char cmd_string[CMD_STR_LEN];tmpnam(tmpfile);sprintf(cmd_string, "%s & %s", cmdstring, tmpfile);return system(cmd_string);}这种使用使用了临时文件作为应用程序和外部命令之间的联系桥梁,在应用程序中需要读取文件,然后再删除该临时文件,比较繁琐,优点是实现简单,容易理解。有没有不借助临时文件的方法呢?
3. 使用匿名管道在&&UNIX环境高级编程&&一书中给出了一种通过匿名管道方式将程序结果输出到分页程序的例子,因此想到,我们也可以通过管道来将外部命令的结果同应用程序连接起来。方法就是fork一个子进程,并创建一个匿名管道,在子进程中执行shell命令,并将其标准输出dup 到匿名管道的输入端,父进程从管道中读取,即可获得shell命令的输出,代码如下: 代码如下:/**&& * 增强的system函数,能够返回system调用的输出&& ** @param[in] cmdstring 调用外部程序或脚本的命令串* @param[out] buf 返回外部命令的结果的缓冲区* @param[in] len 缓冲区buf的长度*&& * @return 0: 成功; -1: 失败&&& */int mysystem(char* cmdstring, char* buf, int len){int&& fd[2]; pid_int&& n,memset(buf, 0, len);if (pipe(fd) & 0)return -1;if ((pid = fork()) & 0)return -1;else if (pid & 0)&&&& /* parent process */{close(fd[1]);&&&& /* close write end */count = 0;while ((n = read(fd[0], buf + count, len)) & 0 && count & len)count +=close(fd[0]);if (waitpid(pid, NULL, 0) & 0)return -1;}else&&& /* child process */{close(fd[0]);&&&& /* close read end */if (fd[1] != STDOUT_FILENO){if (dup2(fd[1], STDOUT_FILENO) != STDOUT_FILENO){return -1;}close(fd[1]);}if (execl("/bin/sh", "sh", "-c", cmdstring, (char*)0) == -1)return -1;}return 0;}4. 使用popen在学习unix编程的过程中,发现系统还提供了一个popen函数,可以非常简单的处理调用shell,其函数原型如下:FILE *popen(const char *command, const char *type);该函数的作用是创建一个管道,fork一个进程,然后执行shell,而shell的输出可以采用读取文件的方式获得。采用这种方法,既避免了创建临时文件,又不受输出字符数的限制,推荐使用。popen使用FIFO管道执行外部程序。 代码如下:#include &stdio.h&FILE *popen(const char *command, const char *type);int pclose(FILE *stream);popen 通过type是r还是w确定command的输入/输出方向,r和w是相对command的管道而言的。r表示command从管道中读入,w表示 command通过管道输出到它的stdout,popen返回FIFO管道的文件流指针。pclose则用于使用结束后关闭这个指针。下面看一个例子: 代码如下:#include &sys/types.h&#include &unistd.h&#include &stdlib.h&#include &stdio.h&#include &string.h&int main( void ){FILE&& *FILE&&& *char&& buf[1024];memset( buf, '/0', sizeof(buf) );//初始化buf,以免后面写如乱码到文件中stream = popen( "ls -l", "r" ); //将“ls -l”命令的输出 通过管道读取(“r”参数)到FILE* streamwstream = fopen( "test_popen.txt", "w+"); //新建一个可写的文件fread( buf, sizeof(char), sizeof(buf), stream); //将刚刚FILE* stream的数据流读取到buf中fwrite( buf, 1, sizeof(buf), wstream );//将buf中的数据写到FILE&&& *wstream对应的流中,也是写到文件中pclose( stream );fclose( wstream );return 0;}[root@localhost src]# gcc popen.c[root@localhost src]# ./a.out[root@localhost src]# cat test_popen.txt
总计 128-rwxr-xr-x 1 root root
11:51 a.out-rwxr-xr-x 1 root root 542 09-30 00:00 child_fork.c-rwxr-xr-x 1 root root 480 09-30 00:13 execve.c-rwxr-xr-x 1 root root
21:33 fork.c-rwxr-xr-x 1 root root 162 09-29 18:54 getpid.c-rwxr-xr-x 1 root root
11:49 popen.c-rwxr-xr-x 1 root root 443 09-30 00:55 system.c-rwxr-xr-x 1 root root&&& 0 09-30 11:51 test_popen.txt-rwxr-xr-x 1 root root
11:39 test.txt5. 小结有统计数据表明,代码的缺陷率是一定的,与所使用的语言无关。Linux提供了很多的实用工具和脚本,在程序中调用工具和脚本,无疑可以简化程序,从而降低代码的缺陷数目。Linux shell脚本也是一个强大的工具,我们可以根据需要编制脚本,然后在程序中调用自定义脚本。
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910

我要回帖

更多关于 求职信应该怎么写 的文章

 

随机推荐