鱼C论坛

 找回密码
 立即注册
查看: 1079|回复: 4

代码运行不了,老哥们请帮我找一下原因

[复制链接]
发表于 2023-8-26 12:12:31 | 显示全部楼层 |阅读模式

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

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

x
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//#include<time.h>


//void test01()
//{
//        //1,生成一个随机数据
//        srand((unsigned int)time(NULL));
//        int num = rand() % 100 + 1;
//        printf("这是一款猜数字的游戏,请输入你猜测的数字并且到猜对为止\n");
//        int val = 0;
//        while (1) {
//                scanf("%d", &val);
//
//                if (num > val)
//                {
//                        printf("您输入的数过小\n");
//                }
//                else if (num < val)
//                {
//                        printf("您输入的数过大\n");
//                }
//                else
//                {
//                        printf("您输入正确\n");
//                        break;
//                }
//               
//        }
//        //2, 用户输入一个随机数
//        //
//        //3,数据比对产生结果
//        //4, 一直猜测直到猜测正确

       
//}
//void test02()
//{
//        //水仙花数 1的三次方+5的三次方+3的三次方=153
//        //要求找出所有水仙花数字
//        //定义一个数,然后设置一个门槛,100到1000之间,100为初始值,1000为结束条件,抽取个十百位的数然后用if为筛选条件
//        //最后用while结尾,循环多次找到结果
//        int num = 100;
//        do
//        {
//                int a = num % 10;
//                int b = num / 10 % 10;
//                int c = num / 100;
//                if(a*a*a+b*b*b+c*c*c==num)
//                {
//                        printf("%d\n", num);
//                        num++;
//                }
//               
//        } while (num < 1000);

//}
void test03()
{
        int i = 1;
       
        //从1开始到100结束,,如果含有数字7或者数字十位有七或者是7的倍数的打印敲桌子,其余数字全部打印出来
        for (i = 1; i <= 100; i++)
        {
                if (i % 10 == 7 && i / 10 == 7 && i / 7 == 0)
                        printf("敲桌子\n");
                else
                        printf("%d\n", i);




        }

        int main()
{
        test03();
        system("pause");
        return EXIT_SUCCESS;

}



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

使用道具 举报

发表于 2023-8-26 12:12:51 | 显示全部楼层
您在代码中存在几个错误:

1. 在代码的开头处,有一个宏定义#define _CRT_SECURE_NO_WARNINGS,这通常是为了关闭编译器的警告提示。然而,在这段代码中并未使用任何与安全相关的函数,因此您可以删除这个宏定义。

2. 函数test01()test02()的定义被注释掉了,导致这两个函数无法被调用。如果您想要调用它们,请取消注释。

3. 函数test03()中的判断条件存在问题。您想要判断一个数字是否包含数字7或数字十位上是否是7,以及是否是7的倍数。但是目前的写法是判断数字个位、十位和是否是7的倍数都同时成立才输出"敲桌子"。正确的判断条件应该是分别判断个位和十位是否是7,以及是否是7的倍数。下面是修正后的代码片段:
void test03() {
    int i = 1;
    // 从1开始到100结束,如果含有数字7或者数字十位有7或者是7的倍数的打印"敲桌子",其余数字全部打印出来
    for (i = 1; i <= 100; i++) {
        if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0) {
            printf("敲桌子\n");
        } else {
            printf("%d\n", i);
        }
    }
}

int main() {
    test03();
    system("pause");
    return EXIT_SUCCESS;
}

请注意以上修改仅涉及到代码的纠错,并不能保证代码的逻辑和功能是您期望的。如果还有其他问题,请提供更详细的错误信息,我将尽力帮助您解决。
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-26 12:12:57 | 显示全部楼层
这段代码存在一些问题。首先,代码中存在注释掉的函数test01和test02,这会导致编译错误。其次,在test03函数中,if语句的条件判断存在问题,应该使用逻辑或运算符(||)来判断是否含有数字7或数字十位有7,而不是使用逻辑与运算符(&&)。最后,在main函数中,缺少了一个右大括号(}),导致编译错误。

修复后的代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//#include<time.h>

void test03()
{
    int i = 1;

    //从1开始到100结束,如果含有数字7或者数字十位有7或者是7的倍数的打印敲桌子,其余数字全部打印出来
    for (i = 1; i <= 100; i++)
    {
        if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)
            printf("敲桌子\n");
        else
            printf("%d\n", i);
    }
}

int main()
{
    test03();
    system("pause");
    return EXIT_SUCCESS;
}

修复后的代码已经可以正常运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-26 13:57:52 | 显示全部楼层
根据你提供的代码,有几个问题需要注意:

1. 代码中的注释符号 `//` 在某些行的开头位置被误判为字符串标识符,导致后面的代码无法正确编译。请确保注释符号在正确的位置,并删除不必要的注释。

2. 在 `test03()` 函数中,存在一个额外的右括号 `}`,它应该被删除。

修复后的代码如下所示:
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>//#include <time.h>//void test01()//{//    //1,生成一个随机数据//    srand((unsigned int)time(NULL));//    int num = rand() % 100 + 1;//    printf("这是一款猜数字的游戏,请输入你猜测的数字并且到猜对为止\n");//    int val = 0;//    while (1) {//        scanf("%d", &val);////        if (num > val)//        {//            printf("您输入的数过小\n");//        }//        else if (num < val)//        {//            printf("您输入的数过大\n");//        }//        else//        {//            printf("您输入正确\n");//            break;//        }//        //    }//    //2, 用户输入一个随机数//    // //    //3,数据比对产生结果//    //4, 一直猜测直到猜测正确//}//void test02()//{//    //水仙花数 1的三次方+5的三次方+3的三次方=153//    //要求找出所有水仙花数字//    //定义一个数,然后设置一个门槛,100到1000之间,100为初始值,1000为结束条件,抽取个十百位的数然后用if为筛选条件//    //最后用while结尾,循环多次找到结果//    int num = 100;//    do//    {//        int a = num % 10;//        int b = num / 10 % 10;//        int c = num / 100;//        if (a * a * a + b * b * b + c * c * c == num)//        {//            printf("%d\n", num);//            num++;//        }//        //    } while (num < 1000);//}void test03(){    int i = 1;        //从1开始到100结束,如果含有数字7或者数字十位有七或者是7的倍数的打印敲桌子,其余数字全部打印出来    for (i = 1; i <= 100; i++)    {        if (i % 10 == 7 || i / 10 == 7 || i % 7 == 0)            printf("敲桌子\n");        else            printf("%d\n", i);    }}int main(){    test03();    system("pause");    return EXIT_SUCCESS;}
请将上述修复后的代码复制到你的代码编辑器中并尝试运行。如果还有其他问题,请提供具体的报错信息,这样我才能更准确地帮助你解决问题。
此内容为ChatGPT回答,如果胡说八道,请不要理会
如果对你有帮助,请设置一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-26 19:44:33 | 显示全部楼层
这段代码是一个简单的C语言程序,包含了三个函数:test01、test02和test03。其中,test01是一个猜数字游戏,test02是找出水仙花数字的程序,而test03是根据特定条件打印数字的程序。

由于注释部分被正确的注释掉了,所以可以直接运行代码。代码从main函数开始执行,调用了test03函数。test03函数使用for循环从1到100遍历所有数字,并根据特定条件判断是否需要打印"敲桌子"或者数字本身。

整体而言,这段代码的功能是打印出从1到100之间的数字,满足一定条件时打印"敲桌子"。

请注意,由于代码中使用了system("pause")语句,这段代码在某些编译器中可能无法正常执行。如果您需要在其他环境中运行,请将该语句注释掉或者修改为适合您的环境的等待命令。

此内容为ChatGPT回答,如果对你有帮助,请设置一个最佳答案!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 02:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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