今年的普及组第一题,c语言!有错误吗? 题目: 国王给骑士奖励,第一天一金币,第二三天两金币
#include stdio.h
int main()
{
freopen(“coin.in”, “r”, stdin);
freopen(“coin.out”, “w”, stdout);
int n,i,j;
scanf(“%d”, n);
int ans = 0, count=0;
i=1;
for(i=1;i=n;i++)
{
for(j=1;j=i;j++)
{
ans+=i;
count++;
if(count==n)
{
printf(“%d”, ans);
fclose(stdin);
fclose(stdout);
return 0;
}
}
}
fclose(stdin);
fclose(stdout);
return 0;
}
国王发金币c++while第几天不够
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),…
C语言小问题,求指点!?
选A
当数组定义的时候最高维的参数留空时,会按照初始化值来分配内存
这里指定每行三个,初始化有六个元素,那么就等同于a[2][3]
a[0][0]到a[0][2]是1,2,3
a[1][0]到a[1][2]是4,5,6
C语言骑士游历问题
这个程序很乱 还有些地方有错误 ;
本题可以使用深度搜索发求解,但是效率很低,当路径很多时,不可能在短时间内出解。可以采用动态规划的设计思想。
从(x1,y1)位置出发,按照由左到右的顺序定义阶段的方向。位于(x2,y2)的左方且可达(x2,y2)的跳马位置集合都是(x2,y2)的子问题,起点至(x2,y2)的路径数实际上等于起点至这些位置集的路径数之和。可以按照阶段的顺序依次计算每一个阶段每个点的路径数目。
阶段i:中国象棋马当前的列位置(x1≤i≤x2)
状态j:中国象棋马在i列的行位置(1≤i≤m)
每条路径走一遍,然后得出步数,比较得到最小的就行了
状态转移方程map[i,j]:起点(x1,y1)至(i,j)的路径数目
运用C语言设计一个电子宠物程序,实现下列基本功能。
#include#include#include#includestructrecord{charname[20];//姓名charphone[12];//电话charadress[50];//地址charpostcode[8];//邮政编码chare_mail[20];//电子邮件。}student[100];//假设最大数为100.//定义全局变量num,表示已经输入的人数。intnum;//这里使用数组解决通讯录的问题,实际上使用链表更好。intmenu_select(){chars[80];inta;/*定义整形变量*/system(“cls”);printf(“\t\t***********欢迎进入通讯管理界面********\n\n”);printf(“\t\t\t0.输入记录\n”);printf(“\t\t\t1.显示记录\n”);printf(“\t\t\t2.按姓名查找\n”);printf(“\t\t\t3.按电话号码查找\n”);printf(“\t\t\t4.插入记录\n”);printf(“\t\t\t5.按姓名排序\n”);printf(“\t\t\t6.删除记录\n”);printf(“\t\t\t7.Quit\n”);printf(“\t\t***********************************************\n\n”);do{printf(“Enteryouchoice(0~7):”);scanf(“%s”,s);a=atoi(s);}while(a7);returna;}intadduser(){printf(“\t\t\t****************请输入用户信息****************\n”);printf(“\t\t\t输入姓名:\n”);scanf(“%s”,student[num].name);printf(“\t\t\t输入电话号码:\n”);scanf(“%s”,student[num].phone);printf(“\t\t\t输入地址:\n”);scanf(“%s”,student[num].adress);printf(“\t\t\t输入邮编:\n”);scanf(“%s”,student[num].postcode);printf(“\t\t\t输入e-mail:\n”);scanf(“%s”,student[num].e_mail);num++;printf(“\t\t\t是否继续添加?(Y/N):\n”);if(getch()==’y’||getch()==’Y’)adduser();return(0);}voidlist(){inti;system(“cls”);if(num!=0){printf(“\t\t\t***************以下为通讯录所有信息************\n”);for(i=0;i=0));student[j+1]=tmp;}}printf(“\t\t\t排序成功,是否显示?(y/n)”);if(getch()==’y’)list();return(0);}intmain(){printf(“\t\t************************************************\n”);printf(“\t\t********welcometoTONGXUNLU*******************\n”);printf(“\t\t###########codebyXXXXX###################\n”);printf(“\t\t*************************************************\n”);printf(“按任意键进入主菜单\n”);getch();intselectnum;while(1){selectnum=menu_select();switch(selectnum){case0:{adduser();break;}case1:{list();break;}case2:{searchbyname();break;}case3:{searchbyphone();break;}case4:{adduser();//这里插入,应该能指定位置,不过意义不大,所以和添加记录一样了。break;}case5:{sortbyname();break;}case6:{dele();break;}case7:{printf(“BYEBYE!\n”);system(“pause”);getchar();exit(0);}}}getchar();return0;}
简单的C语言编写,求
1.
#include stdio.h
int main()
{
int t;
int h,m;
printf(“输入分钟数:”);
scanf(“%d”, t);
h=t/60;
m=t%60;
printf(“%d小时%d分钟\n”, h, m);
return 0;
}
2.
#include stdio.h
int main(void)
{
int m, s = 0;
printf(“输入里程数:”);
scanf(“%d”, m);
if(m=0)
s=0;
else if(m=3)
s=6;
else
s=6+(m-3)*1;
printf(“车费:%d\n”, s);
return 0;
}