lucy198352 发布留言 2006-11-14 12:29
[求助]找最大值的问题
要求找最大值,而且程序只处理奇数。
#include<stdio.h>
int main(void)
{
int cnt = 0, n;
int max , x;
printf("The maximum value will be computed.\n");
printf("How many values do you want to enter ?\n");
scanf("%d",&n);
while(n <= 0 ){
printf("\nEEror: Positive integer reguired.\n\n");
printf("How many numbers do you wish to enter?");
scanf("%d",&n);
}
if(n == 1)
printf("\nEnter %d real number:\n",n);
else
printf("\nEnter %d real numbers:\n",n);
scanf("%d",&x);
while(x % 2 == 0){ /*integers should be odd numbers.*/
printf("please input odd numbers!\n");
printf("Input integers:\n");
scanf("%d",&x);
}
max = x;
while(++cnt < n){
scanf("%d",&x);
if(max < x)
max = x;
}
printf("\nMaximum value : %d\n",max);
getch();
return 0;
}
程序运行时,如果开始输入的第一个数字是偶数,可以显示出”please input odd numbers!“;一旦输入奇数以后,再输入偶数,就不再受x % 2 == 0的限制。
例如运行时:
The maximum value will be computed.
How many values do you want to enter ?
3
Enter 3 real numbers:
4
please input odd numbers!
Input integers:
3
6
8
Maximum value : 8
请帮忙修改程序。谢谢![em01]
slowlybear 发布留言 2006-11-14 13:33
我手边没有C,不能试一下~呵呵,我也很菜。至于你说的 “如果开始输入的第一个数字是偶数,可以显示出”please input odd numbers!“;一旦输入奇数以后,再输入偶数,就不再受x % 2 == 0的限制” 应该是这一块:
scanf("%d",&x);
while(x % 2 == 0){ /*integers should be odd numbers.*/
printf("please input odd numbers!\n");
printf("Input integers:\n");
scanf("%d",&x);
}
max = x;
while(++cnt < n){
scanf("%d",&x);
if(max < x)
max = x;
}
printf("\nMaximum value : %d\n",max);
getch();
return 0;
看程序,你一开始输偶数,满足x%2==0,进入循环;然后输入一个奇数,不满足,循环结束,程序向下,进入蓝色部分,当然不会再出现提示了。
也就是说,你输入奇数以后,循环就不会再运行到了。
lucy198352 发布留言 2006-11-14 14:19
[em01]你分析的很对,但是怎样改才能避免这个问题呢?[em13]
slowlybear 发布留言 2006-11-14 14:37
合2为1
while(++cnt < n){
scanf("%d",&x);
while(x % 2 == 0){
printf("please input odd numbers!\n");
printf("Input integers:\n");
scanf("%d",&x);
}
if(max < x)
max = x;
}
这样应该可以吧
lucy198352 发布留言 2006-11-14 14:52
可以,谢谢![em01]
slowlybear 发布留言 2006-11-14 14:57
不客气,呵呵,一起学习~一起进步~
我的小程序 发布留言 2008-10-5 17:16
恳请帮我编一下这个程序
描述
输入十个整数,输出最大值的序号
输入
十个整数
输出
最大值的序号
示例输入
5 78 234 4 6 7 8 5 5 7
示例输出
3
解答
小瘪三的烦恼 发布留言 2008-10-5 19:11
用数组就行了...应该不难吧!
KillC 发布留言 2008-10-5 23:32
根本用不着数组
页: [1]