求助大佬可以帮看看下面的填空嘛
1. 下程序的功能是:分别计算1~20的奇数之和以及偶数之积。请完善程序Main()
{
int i=1, s1=0;
float______________;
for (; i<=20; i++)
if (________________)s1=s1+i;
else s2=s2 * i;
printf ("s1=%ds2=%. Of\n",s1,s2);
}
2.以下程序的功能是:从键盘输入一个自然数,找出各数位上最小的数字。如输入的是28901,则输出的结果为0。请完善程序。
main ()
{
int x , min , r ;
scanf ("%d",&x );
min =_________________;
x = x /10;
while (x>0)
{
r = x %10;
if (_____________)min = r;
x = x /10;
}
printf ("%d\n", min ); 偶数之积,居然用浮点型声明,这种书还能看??? wp231957 发表于 2022-6-22 07:43
偶数之积,居然用浮点型声明,这种书还能看???
不使用浮点型有什么更好的办法么? 风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?
嗯,忽略这是一个类阶乘 1 : s2=1.0
2 : i%2==1
3 : 2147483647
4 : min<r
————————
#include <stdio.h>
int main()
{
int i = 1, s1 = 0;
float s2 = 1.;
for (; i <= 20; i++) {
if (i&1) s1 = s1 + i;
else s2 = s2 * i;
}
printf("s1 = %d\ts2 = %.0f\n", s1, s2);
}#include <stdio.h>
int main()
{
int x, min, r;
scanf("%d", &x);
min = x;
x = x/10;
while (x>10) {
r = x%10;
if (min > r) min = r;
x = x/10;
}
printf("%d", min);
} 我的代码(优化):#include <stdio.h>
int main()
{
unsigned long long odd = 0, even = 1;
for (int num = 1; num < 21; ++num) {
(num&1) ? (odd += num) : (even *= num);
}
printf("odd = %llu\neven = %llu", odd, even);
}#include <stdio.h>
int main()
{
int num, min;
scanf("%d", &num);
min = num;
for (; num; min = min < num%10 ? min : num%10, num /= 10);
printf("%d", min);
} 风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?
unsigned long long ? 傻眼貓咪 发表于 2022-6-23 06:59
unsigned long long ?
有道理,unsigned long都够用了。要是浮点数精度不够用,这确实是种优化
页:
[1]