吴研制 发表于 2022-6-22 07:12:45

求助大佬可以帮看看下面的填空嘛

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:40

偶数之积,居然用浮点型声明,这种书还能看???

风车呼呼呼 发表于 2022-6-22 12:22:37

wp231957 发表于 2022-6-22 07:43
偶数之积,居然用浮点型声明,这种书还能看???

不使用浮点型有什么更好的办法么?

wp231957 发表于 2022-6-22 13:06:16

风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?

嗯,忽略这是一个类阶乘

ExiaGN001 发表于 2022-6-22 22:03:50

1 : s2=1.0
2 : i%2==1
3 : 2147483647
4 : min<r
————————

傻眼貓咪 发表于 2022-6-23 06:34:15

#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);
}

傻眼貓咪 发表于 2022-6-23 06:58:43

我的代码(优化):#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-23 06:59:29

风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?

unsigned long long ?

风车呼呼呼 发表于 2022-6-23 12:23:07

傻眼貓咪 发表于 2022-6-23 06:59
unsigned long long ?

有道理,unsigned long都够用了。要是浮点数精度不够用,这确实是种优化
页: [1]
查看完整版本: 求助大佬可以帮看看下面的填空嘛