c语言程序说明
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言程序说明相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
void main (void)
int min=0,num,i=2;
printf("input 5 numbers:");
min = 10000;
do
scanf("%d",&num);
if(min>num)
min = num;
i=i+1;
while (i>5);
printf("min=%d\n",min);
这是什么程序 哪里错了 急求
上段程序没有语法错误,只是在 int min=0,num,i=2; 中,需将i=2;修改为i=1; 才能输入5个数,不然只能有输入的前4个数有用。追问
改成1以后还是不行 输入五个数输出的总是第一个数
追答抱歉, 之前没注意, 你应该将 while(i>5); 修改为 while(i<5); 同时将前面那句 int min=0,num,i=2; 修改为 int min=0,num,i=0;
这样,就是 i=0 1 2 3 4 总共5个数有用了。
附:do while() 循环语句,首先执行 里的程序体,再判断while()括号里的条件,若条件为“真”,则继续执行 里的程序体;若条件为“假”,则跳出循环,执行后面的语句。
还是不行……总是输出我输入的第一个数
追答你输入5个数据的方式是哪样的? 是输入一个数据、回车;再输入一个数据、回车,这样吗?
我的感觉是,这段程序在取num数的时候出现了问题,5个数据没有按照预想的情况赋值给num。 我去百度搜索了一下,感觉是scanf() 取数的机制方面的原因, 我再研究一下,你也可以研究看看。
你把程序按下面这样子试一下:
#include <stdio.h>void main (void)
int min=0,num,i=0;
printf("input 5 numbers:");
min = 10000;
do
scanf("%d",&num);
if(min>num) min = num;
i=i+1;
while (i<5);
printf("min=%d\\n",min);
用VC++6.0试过了,随机输入5个数,每个数之间以空格(或回车)间隔,可以求出这5个随机数的最小值;
如果每个数之间以其他字符(如:大写、小写字母等)间隔,则只会输出第一个数。本回答被提问者采纳 参考技术B 。。错误看不出来,最多是结果输出有错吧我感觉,这个函数好像是在求三个数的最小数,但是如果真是这样就有好多冗余的语句感觉。。 参考技术C 求输入的五个数的最小值吧,while(i>5);改成while(i<5);而且输入的5个数不能都比10000大才有正确结果 参考技术D #include <stdio.h>
void main (void)
int min=0;
int num;
int i=0;
printf("input 5 numbers:");
min = 10000;
do
scanf("%d",&num);
if(min>num)
min = num;
i ++;
while (i<5);
printf("min=%d\\n",min);
追问
不行……总是输出输入的第一个数
追答你用这个试试看
第5个回答 2015-01-05 输出5个数里面的最小的数。int i=2应该换成int i=1;
C语言的类型说明符typedef
C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。类型定义符 typedef 即可用来完成此功能。
例如:
typedef int INTEGER
这以后就可用 INTEGER 来代替 int 作整型变量的类型说明了。比如:
INTEGER a,b;
表示定义了两个int类型的变量a和b。
typedef 定义的一般形式为:
typedef 原类型名 新类型名
其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。
有时也可用宏定义来代替 typedef 的功能,但是宏定义是由预处理完成的,而 typedef则是在编译时完成的,后者更为灵活方便。
以上是关于c语言程序说明的主要内容,如果未能解决你的问题,请参考以下文章