|
发表于 2023-6-4 12:21:33
|
显示全部楼层
本楼为最佳答案
这个代码有一些错误,例如 else if 后面缺少条件, else 后面的 (a==q) 是错误的,因为 else 不需要条件。另外,该代码中的 rand() 函数会返回一个随机数,但在比较 a==1 时可能很难得到 true 的结果,因为 rand() 返回的随机数范围很大。
我将此代码修改如下:
- #include <stdio.h>
- #include <stdlib.h>
- #define q 100
- int main()
- {
- printf("本软件永久更新地址链接:暂无\n");
- printf("请输入: ");
- int a;
- scanf("%d", &a);
-
- if(a == 1)
- {
- long long int random_number = rand() % 2;
- if(random_number == 1)
- {
- FILE *f = fopen("txt.txt","w");
- fprintf(f,"账号:\n 密码\n");
- fclose(f);
- }
- else
- {
- FILE *f = fopen("txt.txt","w");
- fprintf(f,"账:\n 密码\n");
- fclose(f);
- }
- return 0;
- }
- else if(a == q)
- {
- printf("恭喜你这是高级模式\n");
- return 0;
- }
- else
- {
- printf("输入的数字无效\n");
- return 1;
- }
- }
复制代码
这个修改后的代码应该可以运行,也考虑了一些边界条件,如输入的数字既不是1也不是100时。但请注意,如果您在您的系统中使用 rand() 函数时,可能需要设置种子(例如,通过 srand(time(NULL)) ),否则每次运行时它可能会产生相同的序列。 |
|