C++ while 计算1到10的和

错误信息:

 cd 'D:\C++\workspace\CppApplication_2'
D:\C++\MSYS\bin\make.exe -f Makefile CONF=Debug
"/D/C++/MSYS/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/d/C++/workspace/CppApplication_2'
"/D/C++/MSYS/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/cppapplication_2.exe
make.exe[2]: Entering directory `/d/C++/workspace/CppApplication_2'
mkdir -p build/Debug/MinGW-Windows
rm -f "build/Debug/MinGW-Windows/main.o.d"
g++    -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/main.o.d" -o build/Debug/MinGW-Windows/main.o main.cpp
mkdir -p dist/Debug/MinGW-Windows
g++     -o dist/Debug/MinGW-Windows/cppapplication_2 build/Debug/MinGW-Windows/main.o 
d:/c++/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpthread
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-Windows/cppapplication_2.exe] Error 1
make.exe[2]: Leaving directory `/d/C++/workspace/CppApplication_2'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/d/C++/workspace/CppApplication_2'
make.exe": *** [.build-impl] Error 2

构建 FAILED (退出值2, 总时间:  556ms)

图片说明
图片说明

2个回答

要么是g++没有配置好,和代码应该没多大问题

1)你这个问题好像和求和代码没关系啊,貌似环境参数有点问题,你试试打印hello world能不能编译
2)话说你用的集成开发环境还是自己写的Makefile,怎么看都没看到代码的问题
3)cannot find -lpthread

Empty_Android
Empty_Android 不能,我试过了,换个开发环境试试
3 年多之前 回复
shihengzhen101
AlbertS 回复Empty_Android: 代码里只写一句printf("Hello World");能输出吗?我感觉不行吧,好想是环境的问题
3 年多之前 回复
Empty_Android
Empty_Android IDE 用的 NetBeans ,安装了 Mingw 和 MSYS ,之前有过一次成功输出,然后就出现这个问题
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C++ while 计算1到10的和
错误信息: ``` cd 'D:\C++\workspace\CppApplication_2' D:\C++\MSYS\bin\make.exe -f Makefile CONF=Debug "/D/C++/MSYS/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf make.exe[1]: Entering directory `/d/C++/workspace/CppApplication_2' "/D/C++/MSYS/bin/make.exe" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/cppapplication_2.exe make.exe[2]: Entering directory `/d/C++/workspace/CppApplication_2' mkdir -p build/Debug/MinGW-Windows rm -f "build/Debug/MinGW-Windows/main.o.d" g++ -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/main.o.d" -o build/Debug/MinGW-Windows/main.o main.cpp mkdir -p dist/Debug/MinGW-Windows g++ -o dist/Debug/MinGW-Windows/cppapplication_2 build/Debug/MinGW-Windows/main.o d:/c++/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../mingw32/bin/ld.exe: cannot find -lpthread collect2.exe: error: ld returned 1 exit status make.exe[2]: *** [dist/Debug/MinGW-Windows/cppapplication_2.exe] Error 1 make.exe[2]: Leaving directory `/d/C++/workspace/CppApplication_2' make.exe[1]: *** [.build-conf] Error 2 make.exe[1]: Leaving directory `/d/C++/workspace/CppApplication_2' make.exe": *** [.build-impl] Error 2 构建 FAILED (退出值2, 总时间: 556ms) ``` ![图片说明](https://img-ask.csdn.net/upload/201608/27/1472285652_227900.png) ![图片说明](https://img-ask.csdn.net/upload/201608/27/1472285662_251070.png)
C++使用while for do...while分别计算一个数字的阶乘
C++使用while for do...while分别计算一个数字的阶乘 要求编写三个程序,用三种循环分别实现
C语言 杭电HDU1021-最简单的计算机(不明白为什么一直报错)
一个名叫是PigHeadThree的研究组织设计了一台实验用的计算机,命名为PpMm。PpMm只能执行简单的六种命令A,B,C,D,E,F; 只有二个内存M1,M2;三个寄存器R1,R2,R3。六种命令的含义如下: 命令A:将内存M1的数据装到寄存器R1中; 命令B:将内存M2的数据装到寄存器R2中; 命令C:将寄存器R3的数据装到内存M1中; 命令D:将寄存器R3的数据装到内存M2中; 命令E:将寄存器R1中的数据和寄存器R2中的数据相加,结果放到寄存器R3中; 命令F:将寄存器R1中的数据和寄存器R2中的数据相减,结果放到寄存器R3中。 你的任务是:设计一个程序模拟PpMm的运行。 Input 有若干组,每组有2行,第一行是2个整数,分别表示M1和M2中的初始内容;第二行是一串长度不超过200的由大写字母A到F组成的命令串,命令串的含义如上所述。 Output 对应每一组的输入,输出只有一行,二个整数,分别表示M1,M2的内容;其中M1和M2之间用逗号隔开。 其他说明:R1,R2,R3的初始值为0,所有中间结果都在-2^31和2^31之间。 Sample Input ``` 100 288 ABECED 876356 321456 ABECAEDBECAF ``` Sample Output ``` 388,388 2717080,1519268 ``` 我的代码如下:(用的是结构体) 不明白为什么我是Wrong Answer ``` #include <stdio.h> #include <string.h> struct memory { int R1; int R2; int R3; }; int main() { int M1,M2=0; int olen,i=0; char order[1000]; struct memory s={0,0,0}; while(scanf("%d %d",&M1,&M2)!=EOF) { scanf("%s",order); olen=strlen(order); for(i=0;i<olen;i++) { switch(order[i]) { case 'A':s.R1=M1;break; case 'B':s.R2=M2;break; case 'C':M1=s.R3;break; case 'D':M2=s.R3;break; case 'E':s.R3=s.R1+s.R2;break; case 'F':s.R3=s.R1-s.R2;break; } } printf("%d,%d\n",M1,M2); } return 0; } ```
C++如何利用计算循环程序运行时间?
do {程序主要内容 } while(1); 求助大佬,这个dowhile程序是输出机器人位置的函数,想求其速度,所以想计算这个do-while的运算时间,
设计一个程序计算给出的密码的强度。帮我看看哪错了,运行觉得没问题但只有20分
标题 密码强度 类别 字符串处理 时间限制 1S 内存限制 256Kb 问题描述 每个人都有很多密码,你知道你的密码强度吗?假定密码由大写字母、小写字母、数字和非字母数字的符号这四类字符构成,密码强度计算规则如下: 1. 基础分:空密码(密码长度为零)0分,非空密码1分 2. 加分项1:密码长度超过8位,+1分 3. 加分项2:密码包含两类不同字符+1分,包含三类不同字符+2分,包含四类不同字符+3分 按照此规则计算的密码强度为0~5。请你设计一个程序计算给出的密码的强度。 输入说明 输入为一个密码字符串,字符串长度不超过50个字符。 输出说明 输出一个整数表示该密码的强度。 输入样例 输入样例1 abcd 输入样例2 ab123 输出样例 样例1输出: 1 样例2输出 2 ``` #include"stdio.h" int main() { char c; int i,a[5]={0},x=0,sum=0,basic,add1,add2,level; while((c=getchar())!='\n') { if(c>='A'&&c<='Z') a[1]++; else if(c>='a'&&c<='z') a[2]++; else if(c>='0'&&c<='9') a[3]++; else a[4]++; sum++; } for(i=1;i<5;i++) { if(a[i]==0) x++; } if(sum==0) basic=0; else basic=1; if(sum>8) add1=1; else add1=0; if(x==0) add2=3; if(x==1) add2=2; if(x==2) add2=1; if(x==3||x==4) add2=0; level=basic+add1+add2; printf("%d",level); return 0; } ```
基础的while语句的使用
列算式用while语句计算的时候,怎么只显示最终条件的结果?
Cranes 的计算
Problem Description A crane is a wonderful tool for putting up a building. It makes the job go very quickly. When the building must go up even faster, more than one crane can be used. However, when there are too many cranes working on the same building, it can get dangerous. As the cranes spins around, it can bump into another crane if the operator is not careful. Such an accident could cause the cranes to fall over, possibly causing major damage. Therefore, safety regulations require cranes to be spaced far enough apart so that it is impossible for any part of a crane to touch any part of any other crane. Unfortunately, these regulations limit the number of cranes that can be used on the construction site, slowing down the pace of construction. Your task is to place the cranes on the construction site while respecting the safety regulations. The construction site is laid out as a square grid. Several places on the grid have been marked as possible crane locations. The arm of each crane has a certain length r, and can rotate around the location of the crane. The crane covers the entire area that is no more than r units away from the location of the crane. You are to place the cranes to maximize the total area covered by all the cranes. Input The first line of each test chunk contains one integer specifying the number of test cases in this chunk to follow. Each test case begins with a line containing an integer C, the number of possible locations where a crane could be placed. There will be no more than 15 such locations. Each of the following C lines contains three integers x, y, and r, all between -10 000 and 10 000 inclusive. The first two integers are the grid coordinates of the location, and the third integer is the length of the arm of the crane that can be placed at that location. Please process to the end of the data file. Output For each test case, find the maximum area A that can be covered by cranes, and output a line containing a single integer B such that A = B × π . Sample Input 1 3 0 0 4 5 0 4 -5 0 4 1 3 0 0 4 5 0 4 -5 0 4 Sample Output 32 32
Quicksum 的计算
Problem Description A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are often used for detecting transmission errors, validating document contents, and in many other situations where it is necessary to detect undesirable changes in data. For this problem, you will implement a checksum algorithm called Quicksum. A Quicksum packet allows only uppercase letters and spaces. It always begins and ends with an uppercase letter. Otherwise, spaces and letters can occur in any combination, including consecutive spaces. A Quicksum is the sum of the products of each character's position in the packet times the character's value. A space has a value of zero, while letters have a value equal to their position in the alphabet. So, A=1, B=2, etc., through Z=26. Here are example Quicksum calculations for the packets "ACM" and "MID CENTRAL": ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650 Input The input consists of one or more packets followed by a line containing only # that signals the end of the input. Each packet is on a line by itself, does not begin or end with a space, and contains from 1 to 255 characters. Output For each packet, output its Quicksum on a separate line in the output. Sample Input ACM MID CENTRAL REGIONAL PROGRAMMING CONTEST ACN A C M ABC BBC # Sample Output 46 650 4690 49 75 14 15
C++ 计算股票最大利润的代码
这个是学校功课,老师限制不让用array。 这个program的用法是输入一串价格,最后输入-1,然后就会output最大利润。 例如我输入20,10,30,40,-1,前面几个数字分别代表第一天第二天第三天第四天股票的价格, 那么假设我在第二天买进,第四天卖出,我将获得最大利润(40-10)=30。 现在我唯一的问题是我写的代码处理不了这种情况,例如 我输入20,30,10,我这个program会把10当成最小值,然后output最大利润为 (30-10),请问各位能帮我修改代码,避免这种错处吗? 或者有其他代码能够完成这个作业? `` #include<iostream> using namespace std; int main(){ int c(0),r(0),n1(0),min(0),max(0),l(0),s(0); cout<<"Please enter the prices: "; while(n1!=-1){ cin>>n1; if(min==0 && n1>0) {min=n1;} c++; if(n1<=0 && n1!=-1) {cout<<"Invalid. Input again. Please make sure it's a positive number!"<<endl;r++;} else { if(n1<min && n1!=-1 && c<=l) {min=n1; s++;} if(n1>=max && (c-r)>(s+1)) {max=n1; l=c;} cout<<c<<s+1<<l<<endl; } } cout<<max<<min; cout<<endl<<"Largest amount earned: "<<(max-min)<<endl; return 0; } ```
求这个多程序实现系统菜单功能整合程序的错误及改正
1.温度转换表 ``` #include <stdio.h> main( ) { float c,f,c1,c2,d; printf("请输入起始温度:") ; scanf("%f",&c1); printf("请输入结束温度:") ; scanf("%f",&c2); printf("请输入间隔温度:") ; scanf("%f",&d); printf(" 温度对照表\n"); printf("------------------------\n"); printf("| 摄氏温度 | 华氏温度 |\n"); for(c=c1;c<=c2;c=c+d) { f=9.0/5*c+32; printf("------------------------\n"); printf("| %5.1f | %5.1f |\n",c,f); } printf("------------------------\n"); } ``` 2.加法练习程序 ``` #include <stdio.h> #include <stdlib.h> #include <time.h> main( ) { int a,b,c; int i,score=0; srand((unsigned)time(NULL)); for(i=0;i<10;i++) { a=rand()%20; b=rand()%20; printf("第%2d题:%d+%d=?\n",i+1,a,b); printf("请输入答案:"); scanf("%d",&c); if(c==a+b) { printf("正确!"); printf("%d+%d=%d\n",a,b,a+b); score=score+10; } else { printf("错误!"); printf("%d+%d=%d\n",a,b,a+b); } } printf("成绩:%d\n",score); } ``` 3.石头剪刀布游戏 ``` #include <stdio.h> #include <stdlib.h> #include <time.h> int rps(int computer,int human) { char *c_string,*h_string; int c_win=1,h_win=-1,dogfall=0; if(computer==0) c_string="石头"; else if(computer==1) c_string="剪刀"; else if(computer==2) c_string="布"; if(human==0) h_string="石头"; else if(human==1) h_string="剪刀"; else if(human==2) h_string="布"; printf("计算机:%s,用户:%s\n",c_string,h_string); switch(computer-human) { case 0: printf("平局!\n"); return(dogfall); case -1: printf("计算机赢!\n"); return(c_win); case -2: printf("用户赢!\n"); return(h_win); case 1: printf("用户赢!\n"); return(h_win); case 2: printf("计算机赢!\n"); return(c_win); } } main() { int computer,human,i=1; int c_win_n=0,h_win_n=0; int flag; srand((unsigned)time(NULL)); printf("石头、剪刀、布游戏\n"); while(1) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("第%d局:\n",i); computer=rand()%3; printf("请输入(石头-0,剪刀--1,布--2):"); scanf("%d",&human); flag=rps(computer,human); if(flag==1) c_win_n++; if(flag==-1) h_win_n++; if(c_win_n==3) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("计算机获胜!\n"); break; } if(h_win_n==3) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("用户获胜!\n"); break; } i++; } } ``` 4.菱形图案 ``` #include <stdio.h> main() { int i,j; for(i=0;i<5;i++) { for(j=0;j<35-i;j++) printf(" "); for(j=0;j<2*i+1;j++) printf("*"); printf("\n"); } for(i=0;i<4;i++) { for(j=0;j<32+i;j++) printf(" "); for(j=0;j<7-2*i;j++) printf("*"); printf("\n"); } } ``` 5.sin图形及数字显示 ``` #include <stdio.h> #include <math.h> #define PI 3.1415926 #define M 8 #define N 14 void printchar(int a[][N]) { int i,j,k; float x,y; for(x=0;x<=360;x=x+15) { y=40+10*sin(x*PI/180); for(k=0;k<y;k++) printf(" "); printf("*"); printf("\n"); } for(i=0;i<M;i++) { for(j=0;j<N;j++) if(a[i][j]==1) printf("#"); else printf(" "); printf("\n"); } } main() { int a[M][N]={ 0,0,0,1,0,0,0,0,0,1,1,1,0,0, 0,0,1,1,0,0,0,0,1,0,0,0,1,0, 0,0,0,1,0,0,0,0,0,0,0,0,1,0, 0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,1,0,0,0,0,0,0,1,0,0,0, 0,0,0,1,0,0,0,0,0,1,0,0,0,0, 0,0,0,1,0,0,0,0,1,0,0,0,0,0, 0,1,1,1,1,1,0,1,1,1,1,1,1,0 }; printchar(a); } ``` 6.登录界面 ``` #include <stdio.h> #include <string.h> void wellcome() { printf("\n欢迎使用本系统!\n"); printf("请按任意键...\n"); getch(); } void error() { printf("\n账号或密码错误!\n"); printf("请按任意键...\n"); getch(); } void bye() { printf("您无权使用本系统!\n"); printf("请按任意键...\n"); getch(); } void mygets(char s[]) { char ch,*p=s; ch=getch(); while(ch!='\r') { printf("*"); *p=ch; p++; ch=getch(); } *p='\0'; } int login() { char user[10],pwd[10]; int i,f; for(i=1;i<=3;i++) { printf("账户:"); gets(user); printf("密码:"); mygets(pwd); if(!strcmp(user,"admin") && !strcmp(pwd,"123456")) { f=1; break; } else error(); if(i==3) f=0; } return(f); } main() { if(login()) wellcome(); else bye(); } ``` 7.菜单程序 ``` #include <stdio.h> void wait() { printf("\n请按任意键...\n"); getch(); } void wellcome() { printf("\n欢迎!\n"); wait(); } void bye() { printf("\n再见!\n"); wait(); } void f11() { printf("\n文件功能1\n"); wait(); } void f12() { printf("\n文件功能2\n"); wait(); } void f13() { printf("\n文件功能3\n"); wait(); } void f14() { printf("\n文件功能4\n"); wait(); } void f21() { printf("\n编辑功能1\n"); wait(); } void f22() { printf("\n编辑功能2\n"); wait(); } void f23() { printf("\n编辑功能3\n"); wait(); } void f24() { printf("\n编辑功能4\n"); wait(); } void f31() { printf("\n查看功能1\n"); wait(); } void f32() { printf("\n查看功能2\n"); wait(); } void f33() { printf("\n查看功能3\n"); wait(); } void f34() { printf("\n查看功能4\n"); wait(); } void f41() { printf("\n插入功能1\n"); wait(); } void f42() { printf("\n插入功能2\n"); wait(); } void f43() { printf("\n插入功能3\n"); wait(); } void f44() { printf("\n插入功能4\n"); wait(); } void menu1() { char choice; int f=1; do { printf("\n"); printf("---文件子菜单---\n"); printf(" 1...文件功能1\n"); printf(" 2...文件功能2\n"); printf(" 3...文件功能3\n"); printf(" 4...文件功能4\n"); printf(" 0...返回\n"); printf("请选择[1/2/3/4/0]:"); choice=getch(); switch(choice) { case '1':f11(); break; case '2':f12(); break; case '3':f13(); break; case '4':f14(); break; case '0':f=0; break; } } while(f==1); } void menu2() { char choice; int f=1; do { printf("\n"); printf("---编辑子菜单---\n"); printf(" 1...编辑功能1\n"); printf(" 2...编辑功能2\n"); printf(" 3...编辑功能3\n"); printf(" 4...编辑功能4\n"); printf(" 0...返回\n"); printf("请选择[1/2/3/4/0]:"); choice=getch(); switch(choice) { case '1':f21(); break; case '2':f22(); break; case '3':f23(); break; case '4':f24(); break; case '0':f=0; break; } } while(f==1); } void menu3() { char choice; int f=1; do { printf("\n"); printf("---查看子菜单---\n"); printf(" 1...查看功能1\n"); printf(" 2...查看功能2\n"); printf(" 3...查看功能3\n"); printf(" 4...查看功能4\n"); printf(" 0...返回\n"); printf("请选择[1/2/3/4/0]:"); choice=getch(); switch(choice) { case '1':f31(); break; case '2':f32(); break; case '3':f33(); break; case '4':f34(); break; case '0':f=0; break; } } while(f==1); } void menu4() { char choice; int f=1; do { printf("\n"); printf("---插入子菜单---\n"); printf(" 1...插入功能1\n"); printf(" 2...插入功能2\n"); printf(" 3...插入功能3\n"); printf(" 4...插入功能4\n"); printf(" 0...返回\n"); printf("请选择[1/2/3/4/0]:"); choice=getch(); switch(choice) { case '1':f41(); break; case '2':f42(); break; case '3':f43(); break; case '4':f44(); break; case '0':f=0; break; } } while(f==1); } void menu() { char choice; int f=1; do { printf("\n"); printf("------菜单------\n"); printf(" 1.......文件\n"); printf(" 2.......编辑\n"); printf(" 3.......查看\n"); printf(" 4.......插入\n"); printf(" 0.......退出\n"); printf("请选择[1/2/3/4/0]:"); choice=getch(); switch(choice) { case '1':menu1(); break; case '2':menu2(); break; case '3':menu3(); break; case '4':menu4(); break; case '0':f=0; break; } } while(f==1); } main() { wellcome(); menu(); bye(); } ``` 将以上程序整合为一个综合程序 ``` #include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> #include <time.h> #endif #define PI 3.1415926 void wait() { printf("\n请按任意键...\n"); getch(); } void wellcome() { printf("\n欢迎使用本系统!\n"); wait(); } void bye1() { printf("\n您无权使用本系统!\n"); wait(); } void bye2() { printf("\n再见!\n"); wait(); } void error() { printf("\n账号或密码错误!\n"); wait(); } void f1() { float c,f,c1,c2,d; printf("请输入起始温度:") ; scanf("%f",&c1); printf("请输入结束温度:") ; scanf("%f",&c2); printf("请输入间隔温度:") ; scanf("%f",&d); printf(" 温度对照表\n"); printf("------------------------\n"); printf("| 摄氏温度 | 华氏温度 |\n"); for(c=c1;c<=c2;c=c+d) { f=9.0/5*c+32; printf("------------------------\n"); printf("| %5.1f | %5.1f |\n",c,f); } printf("------------------------\n"); wait(); } void f2() { int a,b,c; int i,score=0; srand((unsigned)time(NULL)); for(i=0;i<10;i++) { a=rand()%20; b=rand()%20; printf("第%2d题:%d+%d=?\n",i+1,a,b); printf("请输入答案:"); scanf("%d",&c); if(c==a+b) { printf("正确!"); printf("%d+%d=%d\n",a,b,a+b); score=score+10; } else { printf("错误!"); printf("%d+%d=%d\n",a,b,a+b); } } printf("成绩:%d\n",score); wait(); } void f3() { int rps(int computer,int human) { char *c_string,*h_string; int c_win=1,h_win=-1,dogfall=0; if(computer==0) c_string="石头"; else if(computer==1) c_string="剪刀"; else if(computer==2) c_string="布"; if(human==0) h_string="石头"; else if(human==1) h_string="剪刀"; else if(human==2) h_string="布"; printf("计算机:%s,用户:%s\n",c_string,h_string); switch(computer-human) { case 0: printf("平局!\n"); return(dogfall); case -1: printf("计算机赢!\n"); return(c_win); case -2: printf("用户赢!\n"); return(h_win); case 1: printf("用户赢!\n"); return(h_win); case 2: printf("计算机赢!\n"); return(c_win); } } main() { int computer,human,i=1; int c_win_n=0,h_win_n=0; int flag; srand((unsigned)time(NULL)); printf("石头、剪刀、布游戏\n"); while(1) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("第%d局:\n",i); computer=rand()%3; printf("请输入(石头-0,剪刀--1,布--2):"); scanf("%d",&human); flag=rps(computer,human); if(flag==1) c_win_n++; if(flag==-1) h_win_n++; if(c_win_n==3) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("计算机获胜!\n"); break; } if(h_win_n==3) { printf("\n计算机 %d :%d 用户\n",c_win_n,h_win_n); printf("用户获胜!\n"); break; } i++; } } wait(); } void f4() { int i,j; for(i=0;i<5;i++) { for(j=0;j<35-i;j++) printf(" "); for(j=0;j<2*i+1;j++) printf("*"); printf("\n"); } for(i=0;i<4;i++) { for(j=0;j<32+i;j++) printf(" "); for(j=0;j<7-2*i;j++) printf("*"); printf("\n"); } wait(); } void f5() { #define PI 3.1415926 #define M 8 #define N 14 void printchar(int a[][N]) { int i,j,k; float x,y; for(x=0;x<=360;x=x+15) { y=40+10*sin(x*PI/180); for(k=0;k<y;k++) printf(" "); printf("*"); printf("\n"); } for(i=0;i<M;i++) { for(j=0;j<N;j++) if(a[i][j]==1) printf("#"); else printf(" "); printf("\n"); } } main() { int a[M][N]={ 0,0,0,1,0,0,0,0,0,1,1,1,0,0, 0,0,1,1,0,0,0,0,1,0,0,0,1,0, 0,0,0,1,0,0,0,0,0,0,0,0,1,0, 0,0,0,1,0,0,0,0,0,0,0,1,0,0, 0,0,0,1,0,0,0,0,0,0,1,0,0,0, 0,0,0,1,0,0,0,0,0,1,0,0,0,0, 0,0,0,1,0,0,0,0,1,0,0,0,0,0, 0,1,1,1,1,1,0,1,1,1,1,1,1,0 }; printchar(a); } wait(); } void menu() { char choice; int f=1; do { printf("\n"); printf("------菜单------\n"); printf(" 1....温度对照表\n"); printf(" 2....加法练习\n"); printf(" 3....石头、剪刀、步游戏\n"); printf(" 4....菱形图案\n"); printf(" 5....sin图形及数字符号显示\n"); printf(" 0....退出\n"); printf("请选择[1/2/3/4/5/6/7/0]:"); choice=getche(); switch(choice) { case '1':f1(); break; case '2':f2(); break; case '3':f3(); break; case '4':f4(); break; case '5':f5(); break; case '0':f=0; break; } } while(f==1); } void mygets(char s[]) { char ch,*p=s; ch=getch(); while(ch!='\r') { printf("*"); *p=ch; p++; ch=getch(); } *p='\0'; } int login() { char user[10],pwd[10]; int i,f; for(i=1;i<=3;i++) { printf("账户:"); gets(user); printf("密码:"); mygets(pwd); if(!strcmp(user,"admin") && !strcmp(pwd,"123456")) { f=1; break; } else error(); } if(i>3) f=0; return(f); } main() { wellcome(); if(login()) menu(); else bye1(); bye2(); } ``` 结果出错。。。。 ![图片说明](https://img-ask.csdn.net/upload/201912/15/1576385070_394335.png)
我在Dev-C++写完代码,试图运行时,弹出程序框提示“exe已停止运行”,当我试图调试代码时,无法进入下一步,一直停滞在断点处,且所添加查看的变量均无值。我想知道原因。
代码想实现的功能为“相邻数字的基数等比确定进制”: 描述6*9 = 42 对于十进制来说是错误的,但是对于13进制来说是正确的。即, 6(13) * 9(13) = 42(13), 而 42(13) = 4 * 131 + 2 * 130 = 54(10)。 你的任务是写一段程序读入三个整数p、q和 r,然后确定一个进制 B(2<=B<=16) 使得 p * q = r. 如果 B有很多选择, 输出最小的一个。例如: p = 11, q = 11, r = 121. 则有 11(3) * 11(3) = 121(3) 因为 11(3) = 1 * 31 + 1 * 30 = 4(10) 和 121(3) = 1 * 32 + 2 * 31 + 1 * 30 = 16(10)。 对于进制 10,有 11(10) * 11(10) = 121(10)。这种情况下,应该输出 3。如果没有合适的进制,则输出 0。 输入: 输入有 T组测试样例。 T在第一行给出。每一组测试样例占一行,包含三个整数p、q、r。 p、q、r的所有位都是数字,并且1 <= p、q、r <= 1,000,000。 输出: 对于每个测试样例输出一行。该行包含一个整数:即使得p * q = r成立的最小的B。如果没有合适的B,则输出 0。 我的代码如下: ``` #include <stdio.h> int main (void) { int N,i,B,k; long p,q,r; int a[3][7],b[3];/*a[3]用于存储p、q、r的各位数;b[3]用于存储p、q、r的位数*/ scanf ("%d",&N); for (i=0;i<N;i++) { do { scanf ("%ld %ld %ld",&p,&q,&r); }while (p<1||q<1||r>1000000); for (k=0;p&&k<7;k++) { a[0][k]=p%10; p=p/10; } b[0]=k;/*计算p的各位数以及p的位数*/ for (k=0;q&&k<7;k++) { a[1][k]=q%10; q=q/10; } b[1]=k;/*计算q的各位数以及q的位数*/ for (k=0;r&&k<7;k++) { a[2][k]=r%10; r=r/10; } b[2]=k;/*计算r的各位数以及r的位数*/ for (B=2;B&&(B<=16);B++) { for (k=b[0]-1;k>=0;k++) p=p*B+a[0][k];/*计算p的B进制*/ for (k=b[1]-1;k>=0;k++) q=q*B+a[1][k];/*计算q的B进制*/ for (k=b[2]-1;k>=0;k++) r=r*B+a[2][k];/*计算r的B进制*/ if (p*q==r) break; else if (B==16) B=-1; } printf ("%d\n",B); } return 0; } ``` 调试过程如图 ![图片说明](https://img-ask.csdn.net/upload/201912/18/1576674123_459579.png)
求!!!!怎么在C语言添加背景音乐
我打算在个C语言程序中加背景音乐,找了好多都不行,总会报错,希望有大佬可以教我一下怎么加背景音乐,用的是DV源代码如下(拜托了各位大佬!!!) #include <stdio.h> #include <windows.h> #include <time.h> #include <conio.h> #include <stdlib.h> #define N 65 int status[N][N]={{0},{0}};//记录棋盘情况,0无,1红棋/玩家,2为白棋/电脑 int flag=0;//判断输赢 int direct[2];//方向 int Value1[N][N]={{0},{0}};//计算权值 int Value2[N][N]={{0},{0}};//计算权值 int regrex,regrey,regrex1,regrey1; int count=0;//计算棋子数量 void chess_board();//打印棋盘 void red_movexy();//红子棋移动光标 void white_movexy();//白棋移动光标 void red_chess(int x,int y);//红棋 void white_chess(int x,int y);//白棋 void man_machine();//人机对战 int judge_chess(int x,int y);//判断这个位置是否下过 int judge_winner(int x,int y,int temp);//判断输赢 void machine_attack();//电脑进攻权值 void machine_defend();//电脑防守权值 void find_position();//寻找最佳权值 void Regret();//悔棋函数 void BackGround(unsigned int ForeColor, unsigned int BackGroundColor) //颜色 { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台的句柄 SetConsoleTextAttribute(handle, ForeColor + BackGroundColor * 0x10);//改变当前光标的背景和字体颜色 } void gotoxy(int x, int y) //光标函数 { HANDLE handle; COORD coord; //获取坐标轴结构体 coord.X = x; coord.Y = y; handle = GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄,值为-11 SetConsoleCursorPosition(handle, coord); //移动光标到x,y处 } void chess_board()//打印棋盘 { int i,j; for(i=0;i<=30;i++) for(j=0;j<=60;j+=4) { gotoxy(j,i); printf("|"); } for(i=0;i<=30;i+=2) for(j=1;j<=57;j+=4) { gotoxy(j,i); printf("---"); } } void chess_menu()//打印棋盘旁的菜单 { int i,j; for(i=1;i<=29;i++) { gotoxy(67,i); printf("||"); } for(i=1;i<=29;i++) { gotoxy(89,i); printf("||"); } gotoxy(69,1); printf("--------------------"); gotoxy(69,29); printf("--------------------"); gotoxy(75,3); printf("模 式"); gotoxy(73,9); printf("WASD移动光标"); gotoxy(73,10); printf("选择下棋位置"); gotoxy(73,11); printf("按空格键确认"); gotoxy(73,12); printf("按Q悔棋"); gotoxy(73,20); printf("提 示"); } void red_movexy()//红棋移动光标 { loop2:gotoxy(direct[0],direct[1]); char key='y'; int temp; while(key!=' ') { key=getch(); switch(key) { case 'W': case 'w': direct[1]-=2; if(direct[1]<=1) direct[1]=1; break; case 's': case 'S': direct[1]+=2; if(direct[1]>=29) direct[1]=29; break; case 'a': case 'A': direct[0]-=4; if(direct[0]<=2) direct[0]=2; break; case 'd': case 'D': direct[0]+=4; if(direct[0]>=58) direct[0]=58; break; case 'q': case 'Q': { int message=MessageBox(NULL,"是否确定悔棋?","友情提示",MB_OKCANCEL); if(IDCANCEL==message) break; if(IDOK==message) { Regret(); break; } } } gotoxy(direct[0],direct[1]); } temp=judge_chess(direct[1],direct[0]); if(temp==1) { gotoxy(70,22); BackGround(4, 0); printf("这里已经被人下过了"); goto loop2; } } void white_movexy()//白棋移动光标 { loop1:gotoxy(direct[0],direct[1]); char key='y'; int temp; while(key!='0') { key=getch(); switch(key) { case 72: direct[1]-=2; if(direct[1]<=1) direct[1]=1; break; case 80: direct[1]+=2; if(direct[1]>=29) direct[1]=29; break; case 75: direct[0]-=4; if(direct[0]<=2) direct[0]=2; break; case 77: direct[0]+=4; if(direct[0]>=58) direct[0]=58; break; case 'B': case 'b': { int message=MessageBox(NULL,"是否确定悔棋?","友情提示",MB_OKCANCEL); if(IDCANCEL==message) break; if(IDOK==message) { Regret(); break; } } } gotoxy(direct[0],direct[1]); } temp=judge_chess(direct[1],direct[0]); if(temp==1) { gotoxy(70,22); BackGround(4, 0); printf("这里已经被人下过了"); goto loop1; } } void red_chess(int x,int y)//打印红棋 { BackGround(4,0); regrex=x;//记录上一落子的位置 ,方便悔棋 regrey=y; count++; printf("●"); status[x][y]=1; } void white_chess(int x,int y)//打印白棋 { BackGround(7,0); regrex1=x; regrey1=y; printf("●"); count++; status[x][y]=2; } void machine_chess(int x,int y)//电脑落子 { BackGround(7,0); status[x][y]=2; regrex1=x; regrey1=y; count++; gotoxy(y,x); printf("●"); } int judge_chess(int x,int y)//判断这个地方是否有棋子 { if(status[x][y]==0) return 0; else return 1; } int judge_winner(int x,int y,int temp)//判断输赢 { int i,j,n1,n2; n1=n2=0; for(i=x,j=y+4;j<=58;j+=4)//右 { if(status[i][j]==temp) n1++; else break; } for(i=x,j=y;j>=2;j-=4)//左 { if(status[i][j]==temp) n2++; else break; } if(n1+n2>=5) return temp; n1=n2=0; for(i=x,j=y;i>=1;i-=2)//上 { if(status[i][j]==temp) n1++; else break; } for(i=x+2,j=y;i<=30;i+=2)//下 { if(status[i][j]==temp) n2++; else break; } if(n1+n2>=5) return temp; n1=n2=0; for(i=x-2,j=y+4;i>=1&&j<=58;i-=2,j+=4)//右上 { if(status[i][j]==temp) n1++; else break; } for(i=x,j=y;i<=30&&j>=2;i+=2,j-=4)//左下 { if(status[i][j]==temp) n2++; else break; } if(n1+n2>=5) return temp; n1=n2=0; for(i=x,j=y;i>=0&&j>=0;i-=2,j-=4)//左上 { if(status[i][j]==temp) n1++; else break; } for(i=x+2,j=y+4;i<=30&&j<=58;i+=2,j+=4)//右下 { if(status[i][j]==temp) n2++; else break; } if(n1+n2>=5) return temp; return 0; } void machine_attack()//电脑进攻权值 { int i1,j1; int k1,k2,k; for(int i=1;i<=30;i+=2) { for(int j=2;j<=58;j+=4) { if(status[i][j]) Value1[i][j]=0; if(status[i][j]==0) { k1=k2=0; for(i1=i,j1=j-4;j1>=2;j1-=4)//往左数寻找电脑棋子数 { if(status[i1][j1]==2) k1++; else break; } for(i1=i,j1=j+4;j1<=58;j1+=4)//往右数寻找电脑棋子数 { if(status[i1][j1]==2) k2++; else break; } k=k1>k2? k1:k2; k1=k2=0; for(i1=i-2,j1=j;i1>=1;i1-=2)//往上数寻找电脑棋子数 { if(status[i1][j1]==2) k1++; else break; } for(i1=i+2,j1=j;i1<=30;i1+=2)//往下数寻找电脑棋子数 { if(status[i1][j1]==2) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1? k:k1; k1=k2=0; for(i1=i-2,j1=j-4;i1>=0&&j1>=0;i1-=2,j1-=4)//往左上数寻找电脑棋子数 { if(status[i1][j1]==2) k1++; else break; } for(i1=i+2,j1=j+4;i1<=30&&j1<=58;i1+=2,j1+=4)//往右下数寻找电脑棋子数 { if(status[i1][j1]==2 ) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1?k:k1; k1=k2=0; for(i1=i+2,j1=j-4;i1<=30&&j1>=2;i1+=2,j1-=4)//往左下数寻找电脑棋子数 { if(status[i1][j1]==2) k1++; else break; } for(i1=i-2,j1=j+4;i1>=1&&j1<=58;i1-=2,j1+=4)//往右上数寻找电脑棋子数 { if(status[i1][j1]==2) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1?k:k1; switch(k) { case 3: Value1[i][j]=15;break; case 4: Value1[i][j]=25;break; default: Value1[i][j]=3+2*k;break; } } } } } void machine_defend()//防守权值 { int i1, j1; int k1,k2,k; for(int i=1;i<=30;i+=2) { for(int j=2;j<=58;j+=4) { if(status[i][j]) Value2[i][j]=0; if(status[i][j]==0) { k1=k2=0; for(i1=i,j1=j-4;j1>=2;j1-=4)//往左数寻找玩家棋子数 { if(status[i1][j1]==1) k1++; else break; } for(i1=i,j1=j+4;j1<=58;j1+=4)//往右数寻找玩家棋子数 { if(status[i1][j1]==1) k2++; else break; } k=k1>k2? k1:k2; k1=k2=0; for(i1=i-2,j1=j;i1>=1;i1-=2)//往上数寻找玩家棋子数 { if(status[i1][j1]==1) k1++; else break; } for(i1=i+2,j1=j;i1<=30;i1+=2)//往下数寻找玩家棋子数 { if(status[i1][j1]==1) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1?k:k1; k1=k2=0; for(i1=i-2,j1=j-4;i1>=1&&j1>=2;i1-=2,j1-=4)//往左上数寻找玩家棋子数 { if(status[i1][j1]==1) k1++; else break; } for(i1=i+2,j1=j+4;i1<=30&&j1<=58;i1+=2,j1+=4)//往右下数寻找玩家棋子数 { if(status[i1][j1]==1) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1?k:k1; k1=k2=0; for(i1=i+2,j1=j-4;i1<=30&&j1>=2;i1+=2,j1-=4)//往左下数寻找玩家棋子数 { if(status[i1][j1]==1) k1++; else break; } for(i1=i-2,j1=j+4;i1>=1&&j1<=58;i1-=2,j1+=4)//往右上数寻找玩家棋子数 { if(status[i1][j1]==1) k2++; else break; } k1=k1>k2? k1:k2; k=k>k1?k:k1; switch(k) { case 3: Value2[i][j]=10;break; case 4: Value2[i][j]=20;break; default: Value2[i][j]=2+k*2; } } } } } void find_position()//找到最有价值的位置 { int k1=0, k2=0; int i, j, max=0; for( i=1;i<=30;i+=2) for( j=2;j<=58;j+=4) { if(max<=Value1[i][j]) { max=Value1[i][j]; k1=i; k2=j; } } for( i=1;i<=30;i+=2) for( j=2;j<=58;j+=4) { if(max<=Value2[i][j]) { max=Value2[i][j]; k1=i; k2=j; } } direct[1]=k1; //将找到的位置传给光标 direct[0]=k2; } void man_machine()//人机对战模式 { loop6:system("cls"); char key; int control; gotoxy(2, 3); printf("1.玩 家 先 手(玩家为红子)"); gotoxy(2, 5); printf("2.电 脑 先 手(电脑为白子)"); gotoxy(2, 7); printf("(输入相应序号选择)"); key=getch(); system("cls"); if(key=='1') control=1; else if(key=='2') { control=1; machine_chess(13,26); } else goto loop6; gotoxy(70,5); printf(" 人 机 对 战 "); direct[1]=15; direct[0]=30; chess_board(); chess_menu(); while(flag==0) { if(control==1) { gotoxy(70,22); BackGround(6,0); printf(" 玩 家 执 手 "); red_movexy(); red_chess(direct[1],direct[0]); flag=judge_winner(direct[1],direct[0],1); } else { gotoxy(70,22); BackGround(6,0); printf(" 电 脑 执 手 "); machine_defend(); machine_attack(); find_position(); machine_chess(direct[1],direct[0]); flag=judge_winner(direct[1],direct[0],2); } control=-control; } gotoxy(8,18); if(flag==1) { BackGround(7,0); MessageBox(NULL,"太厉害了,您竟然战胜了电脑!","五子棋游戏",MB_OK); } if(flag==2) { MessageBox(NULL,"游戏结束,您输给了电脑","五子棋游戏",MB_OK); } if(count>=225) { MessageBox(NULL,"平局","五子棋游戏",MB_OK); } } void Regret()//悔棋函数 { gotoxy(regrey,regrex); BackGround(0,0); printf(" "); status[regrex][regrey]=0; gotoxy(regrey1,regrex1); BackGround(0,0); printf(" "); status[regrex1][regrey1]=0; count-=2; } void welcome()//游戏菜单 { int k; char choose; system("cls"); for(k=2;k<=12;k+=2)//游戏菜单 { gotoxy(5,k); printf("|-----------------|"); } gotoxy(5, 3); printf("| 五 子 棋 游 戏 |"); gotoxy(5, 5); printf("| 菜 单 |"); gotoxy(5, 7); printf("| 1.人 机 对 战 |"); gotoxy(5, 9); printf("| 2.最 高 纪 录 |"); gotoxy(5, 11); printf("| 3.退 出 游 戏 |"); gotoxy(5, 16); printf("温馨提示:输入菜单对应序号进行操作"); gotoxy(5, 18); printf("祝您游戏愉快!"); gotoxy(13, 20); } char Updatediary()//最高纪录 { system("cls"); gotoxy(2, 3); printf("(暂时没有)"); gotoxy(2, 5); printf("(按E键返回,按其它任意键退出)"); return getch(); } int main() { system("title 五子棋"); system("mode con cols=92 lines=33"); char choose,temp; loop:welcome(); choose=getch(); switch(choose) { case '1': man_machine(); break; case '2': temp=Updatediary(); if(temp=='E'||temp=='e') goto loop; break; case '3': int message=MessageBox(NULL,"是否退出?","友情提示",MB_OKCANCEL); if(IDCANCEL==message) goto loop; if(IDOK==message) { break; } } } ``` ```
C++ 关于绝对值计算的问题
请教各位前辈,这样计算绝对值哪里有问题?为什么跑不出结果 ``` #include<stdio.h> int main(){ float n; while(scanf("%f",&n)!=EOF){ if(n<0){ n=-n; } } printf(".2f\n",n); return 0; } ```
Traveling Cube 的计算
Problem Description On a small planet named Bandai, a landing party of the starship Tadamigawa discovered colorful cubes traveling on flat areas of the planet surface, which the landing party named beds. A cube appears at a certain position on a bed, travels on the bed for a while, and then disappears. After a longtime observation, a science officer Lt. Alyssa Ogawa of Tadamigawa found the rule how a cube travels on a bed. A bed is a rectangular area tiled with squares of the same size. One of the squares is colored red, one colored green, one colored blue, one colored cyan, one colored magenta, one colored yellow, one or more colored white, and all others, if any, colored black. Initially, a cube appears on one of the white squares. The cube’s faces are colored as follows. top red bottom cyan north green south magenta east blue west yellow The cube can roll around a side of the current square at a step and thus rolls on to an adjacent square. When the cube rolls on to a chromatically colored (red, green, blue, cyan, magenta or yellow) square, the top face of the cube after the roll should be colored the same. When the cube rolls on to a white square, there is no such restriction. The cube should never roll on to a black square. Throughout the travel, the cube can visit each of the chromatically colored squares only once, and any of the white squares arbitrarily many times. As already mentioned, the cube can never visit any of the black squares. On visit to the final chromatically colored square, the cube disappears. Somehow the order of visits to the chromatically colored squares is known to us before the travel starts. Your mission is to find the least number of steps for the cube to visit all the chromatically colored squares in the given order. Input The input is a sequence of datasets. A dataset is formatted as follows: w d c11 · · · cw1 ... ... c1d · · · cwd v1v2v3v4v5v6 The first line is a pair of positive integers w and d separated by a space. The next d lines are w-character-long strings c11 · · · cw1,. . . , c1d · · · cwd with no spaces. Each character cij is one of the letters r, g, b, c, m, y, w and k, which stands for red, green, blue, cyan, magenta, yellow, white and black respectively, or a sign #. Each of r, g, b, c, m, y and # occurs once and only once in a dataset. The last line is a six-character-long string v1v2v3v4v5v6 which is a permutation of “rgbcmy”. The integers w and d denote the width (the length from the east end to the west end) and the depth (the length from the north end to the south end) of a bed. The unit is the length of a side of a square. You can assume that neither w nor d is greater than 30. Each character cij shows the color of a square in the bed. The characters c11, cw1, c1d and cwd correspond to the north-west corner, the north-east corner, the south-west corner and the southeast corner of the bed respectively. If cij is a letter, it indicates the color of the corresponding square. If cij is a #, the corresponding square is colored white and is the initial position of the cube. The string v1v2v3v4v5v6 shows the order of colors of squares to visit. The cube should visit the squares colored v1, v2, v3, v4, v5 and v6 in this order. The end of the input is indicated by a line containing two zeros separated by a space. Output For each input dataset, output the least number of steps if there is a solution, or “unreachable” if there is no solution. In either case, print it in one line for each input dataset. Sample Input 10 5 kkkkkwwwww w#wwwrwwww wwwwbgwwww kwwmcwwwkk kkwywwwkkk rgbcmy 10 5 kkkkkkkkkk k#kkkkkkkk kwkkkkkwwk kcmyrgbwwk kwwwwwwwwk cmyrgb 10 5 kkkkkkkkkk k#kkkkkkkk kwkkkkkwkk kcmyrgbwwk kwwwwwwwwk cmyrgb 0 0 Sample Output 9 49 unreachable
求和的计算 问题
Problem Description A checksum is an algorithm that scans a packet of data and returns a single number. The idea is that if the packet is changed, the checksum will also change, so checksums are often used for detecting transmission errors, validating document contents, and in many other situations where it is necessary to detect undesirable changes in data. For this problem, you will implement a checksum algorithm called Quicksum. A Quicksum packet allows only uppercase letters and spaces. It always begins and ends with an uppercase letter. Otherwise, spaces and letters can occur in any combination, including consecutive spaces. A Quicksum is the sum of the products of each character's position in the packet times the character's value. A space has a value of zero, while letters have a value equal to their position in the alphabet. So, A=1, B=2, etc., through Z=26. Here are example Quicksum calculations for the packets "ACM" and "MID CENTRAL": ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650 Input The input consists of one or more packets followed by a line containing only # that signals the end of the input. Each packet is on a line by itself, does not begin or end with a space, and contains from 1 to 255 characters. Output For each packet, output its Quicksum on a separate line in the output. Sample Input ACM MID CENTRAL REGIONAL PROGRAMMING CONTEST ACN A C M ABC BBC # Sample Output 46 650 4690 49 75 14 15
求救,为什么我C语言写的顺序表存储的有序表的的合并没有警告也没有错误但是无法输出呢?
``` #include<stdlib.h> #include<stdio.h> //长度与空间是检测 typedef int Status; // Status 是函数返回值类型,其值是函数结果状态代码。 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define List_Init_Size 10 //线性表存储空间初始分配量 #define Listincerment 10 //线性表存储空间的分配增量 typedef struct SqList { int *elem; int length; int listsize; //当前分配的存储容量() }SqList; Status InitList(SqList*L) {//初始化顺序线性表// L->elem=(int*)malloc(List_Init_Size*sizeof(int)); if(!L->elem)exit(OVERFLOW); //存储分配失败 L->length=0; L->listsize=List_Init_Size; return OK; } Status GetElem(SqList a,int i,int*e) { //读取元素 if(i<0||i>a.length) return ERROR;//在表内 e=&a.elem[i-1]; //i-1存储第i个元素 return OK; } int ListLength(SqList L) { //计算长度 if(!L.elem)exit(ERROR); //空间存在 return L.length; } Status ListInsert(SqList *L, int i, int e) { //i位置之前。。。插入新元素e if(i<1||i>L->length+1)return ERROR; //在表内 if((L->length)>=(L->listsize)){ //当前存储空间已满,增加分配 int*newbase,*q,*p; newbase=(int*)realloc(L->elem,(L->listsize+Listincerment)*sizeof(int)); if(!newbase)exit(OVERFLOW);//存储分配失败} L->elem=newbase; //新的基址 L->listsize+=Listincerment; //增加容器容量 q=&(L->elem[i-1]); //q为插入位置 for(p=&(L->elem[L->length-1]);p>=q;--p) //实质为数组,所以下标注意。 *(p+1)=*p; //插入位置及以后的元素后移 ,副本的覆盖。 *q=e; //插入e ++L->length; } return OK;} void output(SqList L) { int i; for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]); } } void MergeList(SqList LA, SqList LB, SqList *LC) //顺序有序表的合并 { //归并LA和LB得到新的顺序有序表LC,LC的元素也按值非递减排列 int *pa, *pb, *pc, *pa_last, *pb_last; pa = LA.elem; pb = LB.elem; //指针pa和pb的初值分别指向两个表的第一次元素 LC->listsize=LC->length = LA.length + LB.length; //新表长度为待合并两表的长度之和 LC->elem = (int*)malloc(LC->listsize*sizeof(int)); //为合并后的新表分配一个数组空间 pc = LC->elem; //指针pc指向新表的第一个元素 pa_last = LA.elem + LA.length - 1; //指针pa_last指向LA表的最后一个元素 pb_last = LB.elem + LB.length - 1; //指针pb_last指向LB表的最后一个元素 while (pa <= pa_last && pb <= pb_last) //两个表都非空 { if (*pa <= *pb) //依次“摘取”两表中值较小的结点插入到LC表的最后 *pc++ = *pa++; else *pc++ = *pb++; } while (pa <= pa_last) //LB已到达表尾,依次将LA的剩余元素插入LC表的最后 *pc++ = *pa++; while (pb <= pb_last) //LA已到达表尾,依次将LB的剩余元素插入LC表的最后 *pc++ = *pb++; } void main() { SqList a,b,c; int i,j,k; InitList(&a); InitList(&b); printf("输入要写入链表a中元素的个数\n"); scanf("%d",&j); printf("输入每个元素"); for(i=1;i<=j;i++) { int e; scanf("%d",&e); ListInsert(&a,i,e); } printf("输入要写入链表b中元素的个数\n"); scanf("%d",&k); printf("输入每个元素"); for(j=1;j<=k;i++) { int e; scanf("%d",&e); ListInsert(&b,i,e); } MergeList(a,b,&c); output(c); } ```
c语言 简易加减计算器
设计一个能计算加减法的简单计算器 从键盘输入数字和运算符 输入等于号时结束计算并输出结果 输出例如下 $ ./a.out 10 + 15 - 5 = 20 下面是我自己编的 ``` #include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char num1[80],num2[80]; char a; int j,k,s=0; gets(num1); j=atoi(num1); k=atoi(num2); while(j!=EOF){ scanf("%c",&a); if(a== '+'){ gets(num2); s=j+k; j=s; } if(a== '-'){ gets(num2); s=j-k; j=s; } if(a== '='){ break; } } printf("%d",s); return 0; } ``` 这次是关于结构体的题目 要求用到gets() atoi()等 求大神看看应该怎么改 现在可以编译执行了 但是输出值不对 1+1算成1 0+1算成0
求救帮忙看一下我这个用C语言写的顺序线性表线性表合并为什么会有warning C4020: ?一直找不到原因
调试环境VC6.0 ``` #include<stdlib.h> #include<stdio.h> typedef int Status; // Status 是函数返回值类型,其值是函数结果状态代码。 #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define List_Init_Size 100 //线性表存储空间初始分配量 #define Listincerment 10 //线性表存储空间的分配增量 typedef struct SqList { int *elem; int length; int listsize; //当前分配的存储容量() }SqList; Status InitList_Sq(SqList*L) {//初始化顺序线性表// L->elem=(int*)malloc(List_Init_Size*sizeof(int)); if(!L->elem)exit(OVERFLOW); //存储分配失败 L->length=0; return OK; } Status GetElem(SqList a,int i,int*e) { //读取元素 if(i<0||i>a.length) return ERROR; e=&a.elem[i-1]; //i-1存储第i个元素 return OK; } int ListLength(SqList L) { //计算长度 if(!L.elem)exit(ERROR); return L.length; } Status ListInsert_Sq(SqList *L, int i, int e) { //i位置之前插入新元素e if(i<1||i>L->length+1)return ERROR; if((L->length)>=(L->listsize)){ //当前存储空间已满,增加分配 int*newbase,*q,*p; newbase=(int*)realloc(L->elem,(L->listsize+Listincerment)*sizeof(int)); if(!newbase)exit(OVERFLOW);//存储分配失败} L->elem=newbase; //新的基址 L->listsize+=Listincerment; //增加容器容量 q=&(L->elem[i-1]); //q为插入位置 for(p=&(L->elem[L->length-1]);p>=q;--p) *(p+1)=*p; //插入位置及以后的元素后移 *q=e; //插入e ++L->length; } return OK;} void MergeList(SqList La,SqList Lb,SqList*Lc) { //线性表La和Lb中的数据元素按照值非递减排列。 int i,j,k,ai,bj; InitList_Sq(Lc); i=j=1;k=0; La.length=ListLength(La); Lb.length=ListLength(Lb); while((i<=La.length)&&(j<=Lb.length)) { GetElem(La,i,&ai); GetElem(Lb,j,&bj); if(ai<=bj) { ListInsert_Sq(Lc,++k,ai); ++i;} else{ListInsert_Sq(Lc,++k,bj);++j;} } while(i<=La.length) { GetElem(La,i,&ai); i++; ++k; InitList_Sq(Lc,k,&ai);} while(j<=Lb.length) { GetElem(Lb,j,&bj);j++; ++k; InitList_Sq(Lc,k,&bj); } } void output(SqList L) { int i; for(i=0;i<L.length;i++) { printf("%d ",L.elem[i]); } } void main() { SqList a,b,c; int i,j,k; InitList_Sq(&a); InitList_Sq(&b); printf("输入要写入链表a中元素的个数"); scanf("%d",&j); printf("输入每个元素"); for(i=1;i<=j;i++) { int e; scanf("%d",&e); ListInsert_Sq(&a,i,e); } printf("输入要写入链表b中元素的个数\n"); scanf("%d",&k); printf("输入每个元素"); for(j=1;j<=k;i++) { int e; scanf("%d",&e); ListInsert_Sq(&b,i,e); } MergeList(a,b,&c); output(c); } ``` ![图片说明](https://img-ask.csdn.net/upload/201912/02/1575268330_217932.png)
运用书上的朴素贝叶斯分类代码,但代码出错,怎么解决,大佬求解。。。
``` import numpy as np class Naive_bayes(object): def __init__(self,p0_vector,p1_vector,p_absolute,vocab_set): """ 输入:朴素贝叶斯实例self,p0_vector表示类别c0的单词词频P(X|c0) p1_vector 表示类别c1的单词词频P(X|c1),p_absolute 表示类别c1的概率 P(c1),单词字典vocab_set 输出:无 描述:朴素贝叶斯构造函数 """ self.p0_vector = p0_vector self.p1_vector = p1_vector self.p_absolute = p_absolute self.vocab_set = vocab_set super(Naive_bayes,self).__init__() def create_vocab_list(self,dataset): """ 输入:朴素贝叶斯实例self,训练数据集 dataset 输出: 无 描述:根据测试样本构建你单词字典 """ vocab_set = set([]) for doucument in dataset: vocab_set = vocab_set|set(doucument) self.vocab_set = list(vocab_set) def wordset2vector(self,inputset): """ 输入:朴素贝叶斯实例self,单条文本inputset 输出:文本向量 return_vec 描述:将每条文本转换为数字向量,建立于字典同等大小的文本向量,若语句中的词典在字典表中出现则标记为1,否则为0 """ return_vec = [0]*len(self.vocab_set) for word in inputset: if word in self.vocab_set: return_vec[self.vocab_set.index(word)] += 1 return return_vec def computer_conditon_probablility(self,words_vec,labels): """ 输入:朴素贝叶斯实例self,训练文本向量集合words——vec,文本标签labels 输出:无 描述:根据文本向量集合计算类别c(i)的单词词频P(X|ci)和概率P(ci) """ num_train_docs = len(words_vec) num_words = len(words_vec[0]) p0_num = np.ones(num_words) p1_num = np.ones(num_words) for i in range(num_train_docs): if labels[i] == 1: p1_num += words_vec[i] else: p0_num += words_vec[i] self.p0_vector = np.log(p0_num/sum(p0_num)) self.p1_vector = np.log(p1_num / sum(p1_num)) self.p_absolute = sum(labels)/float(num_train_docs) def fit(self,dataset,labels): """ 输入:朴素贝叶斯实例self,训练文本向量集合dataset,文本标签labels 输出:无 描述:根据训练样本集训练朴素贝叶斯分类器 """ self.create_vocab_list(dataset) # 构建样本单词字典 words_vec = [] for inputset in dataset: words_vec.append(self.wordset2vec(inputset)) # 构建文本向量 self.compute_condition_probability(words_vec,labels) # 计算条件概率P(X|ci)和类别c1的概率P(c1) def predict(self,word_vec): """ 输入:朴素贝叶斯实例self,测试文本向量word__vec 输出:word_vec所属类别 描述:利用朴素贝叶斯分类器预测文本类别 """ p0 = sum(word_vec*self.p0V) + np.log(1.0-self.p_absolute) p1 = sum(word_vec*self.p1V) + np.log(self.p_absolute) return 1 if p1 > p0 else 0 def load_dataset(filename,delimiter=" "): """ 输入:数据文件路径,分隔符 输出:数据集 描述:读取数据文件生成np.nArry类型的数据集 """ dataset = [] labels = [] with open(filename,'r') as fp: # 数据文件内容格式“Daily English Learning” while True: lines = fp.readline().strip() # lines="Daily English Learning" if not lines: break feature = lines.split(delimiter) # feature= ['daily','english','learning','1'] key = int(feature[-1]) values = [v.lower() for v in feature[0:-1]] labels.append(key) dataset.append(values) return dataset,labels if __name__ == "__main__": filename = "bayes.data" dataset,labels = load_dataset(filename) naive_bayes = Naive_bayes() naive_bayes.fit(dataset,labels) testset = ['Learning','English'] test_vec = naive_bayes.wordset2vec(testset) estimate =naive_bayes.predict(test_vec) print('[{0},{1} estimate is:{2}'.format(testset[0],testset[1],estimate)) ``` ![图片说明](https://img-ask.csdn.net/upload/202001/18/1579333779_71473.png)
最大的获奖的金额计算问题,用C语言
Problem Description After an uphill battle, General Li won a great victory. Now the head of state decide to reward him with honor and treasures for his great exploit. One of these treasures is a necklace made up of 26 different kinds of gemstones, and the length of the necklace is n. (That is to say: n gemstones are stringed together to constitute this necklace, and each of these gemstones belongs to only one of the 26 kinds.) In accordance with the classical view, a necklace is valuable if and only if it is a palindrome - the necklace looks the same in either direction. However, the necklace we mentioned above may not a palindrome at the beginning. So the head of state decide to cut the necklace into two part, and then give both of them to General Li. All gemstones of the same kind has the same value (may be positive or negative because of their quality - some kinds are beautiful while some others may looks just like normal stones). A necklace that is palindrom has value equal to the sum of its gemstones' value. while a necklace that is not palindrom has value zero. Now the problem is: how to cut the given necklace so that the sum of the two necklaces's value is greatest. Output this value. Input The first line of input is a single integer T (1 ≤ T ≤ 10) - the number of test cases. The description of these test cases follows. For each test case, the first line is 26 integers: v1, v2, ..., v26 (-100 ≤ vi ≤ 100, 1 ≤ i ≤ 26), represent the value of gemstones of each kind. The second line of each test case is a string made up of charactor 'a' to 'z'. representing the necklace. Different charactor representing different kinds of gemstones, and the value of 'a' is v1, the value of 'b' is v2, ..., and so on. The length of the string is no more than 500000. Output Output a single Integer: the maximum value General Li can get from the necklace. Sample Input 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 aba 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 acacac Sample Output 1 6
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python学习方法总结(内附python全套学习资料)
不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!! --------------------华丽的分割线-------------------------------- ...
兼职程序员一般可以从什么平台接私活?
这个问题我进行了系统性的总结,以下将进行言简意赅的说明和渠道提供,希望对各位小猿/小媛们有帮助~ 根据我们的经验,程序员兼职主要分为三种:兼职职位众包、项目整包和自由职业者驻场。 所谓的兼职职位众包,指的是需求方这边有自有工程师配合,只需要某个职位的工程师开发某个模块的项目。比如开发一个 app,后端接口有人开发,但是缺少 iOS 前端开发工程师,那么他们就会发布一个职位招聘前端,来配合公司一...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
JAVA 基础练习题
第一题 1.查看以下代码,并写出结果 public class Test01 { public static void main(String[] args) { int i1 = 5; boolean result = (i1++ &gt; 5) &amp;&amp; (++i1 &gt; 4); System.out.println(result); Sy...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
C++知识点 —— 整合(持续更新中)
本文记录自己在自学C++过程中不同于C的一些知识点,适合于有C语言基础的同学阅读。如果纰漏,欢迎回复指正 目录 第一部分 基础知识 一、HelloWorld与命名空间 二、引用和引用参数 2.1引用的定义 2.2 将引用用作函数参数 2.3 将引用用于类对象 2.4 引用和继承 2.5 何时使用引用参数 2.6 引用和指针的区别 三、内联函数 四、默认参数的...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
Python实例大全(基于Python3.7.4)
博客说明: 这是自己写的有关python语言的一篇综合博客。 只作为知识广度和编程技巧学习,不过于追究学习深度,点到即止、会用即可。 主要是基础语句,如三大控制语句(顺序、分支、循环),随机数的生成,数据类型的区分和使用; 也会涉及常用的算法和数据结构,以及面试题相关经验; 主体部分是针对python的数据挖掘和数据分析,主要先攻爬虫方向:正则表达式匹配,常用数据清洗办法,scrapy及其他爬虫框架,数据存储方式及其实现; 最后还会粗略涉及人工智能领域,玩转大数据与云计算、进行相关的预测和分析。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
机械转行java自学经历,零基础学java,血泪总结的干货
机械转行java自学经历,零基础学java,血泪总结的干货 据说,再恩爱的夫妻,一生中都有100次想离婚的念头和50次想掐死对方的冲动。 求职路上亦是如此,打开这篇文章,相信你也有转行的想法。和身边的朋友聊过,入职后的他们,或多或少对现在的职位都有些不满,都有过转行的冲动。 可他们只是想,而我真的这样做了。 下面就介绍下我转行的血泪史。 我为什么要转行 高中复读了一年,考了个双非院校的机械。当时...
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
【Linux系统编程】Linux信号列表
00. 目录 文章目录00. 目录01. Linux信号编号02. 信号简介03. 特殊信号04. 附录 01. Linux信号编号 在 Linux 下,每个信号的名字都以字符 SIG 开头,每个信号和一个数字编码相对应,在头文件 signum.h 中,这些信号都被定义为正整数。信号名定义路径:/usr/include/i386-linux-gnu/bits/signum.h 要想查看这些信号和...
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
借助AI力量,谷歌解开生命奥秘?
全文共4484字,预计学习时长8分钟 Paweł Czerwiński发布在 Unsplash上的原图 假如疾病不复存在会发生什么?如果我们能像大自然一样迅速获取能量又会发生什么?要是我们能够在极短时间内循环塑料、废油、或其它的一些物质呢?如果人类能够解开生命的奥秘,那么以上这些想象将在未来成为现实。人工智能企业DeepMind的数据科学分析师日前在此领域有了重大发现。以下为具体内容:...
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
相关热词 c#委托 逆变与协变 c#新建一个项目 c#获取dll文件路径 c#子窗体调用主窗体事件 c# 拷贝目录 c# 调用cef 网页填表c#源代码 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天
立即提问