鱼C论坛

 找回密码
 立即注册
查看: 1959|回复: 8

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

[复制链接]
发表于 2022-6-22 07:12:45 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 下程序的功能是:分别计算1~20的奇数之和以及偶数之积。请完善程序
Main()
{
       int i=1, s1=0;
float______________;
for (; i<=20; i++)
if (________________)  s1=s1+i;
else s2=s2 * i;
printf ("s1=%d  s2=%. 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 );
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-6-22 07:43:40 From FishC Mobile | 显示全部楼层
偶数之积,居然用浮点型声明,这种书还能看???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-22 12:22:37 | 显示全部楼层
wp231957 发表于 2022-6-22 07:43
偶数之积,居然用浮点型声明,这种书还能看???

不使用浮点型有什么更好的办法么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-22 13:06:16 From FishC Mobile | 显示全部楼层
风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?

嗯,忽略这是一个类阶乘
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-22 22:03:50 | 显示全部楼层
1 : s2=1.0
2 : i%2==1
3 : 2147483647
4 : min<r
————[end]————

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-23 06:34:15 From FishC Mobile | 显示全部楼层
#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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-23 06:58:43 From FishC Mobile | 显示全部楼层
我的代码(优化):
#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);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-23 06:59:29 From FishC Mobile | 显示全部楼层
风车呼呼呼 发表于 2022-6-22 12:22
不使用浮点型有什么更好的办法么?

unsigned long long ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-6-23 12:23:07 | 显示全部楼层

有道理,unsigned long都够用了。要是浮点数精度不够用,这确实是种优化
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 10:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表