c语言好学吗编程问题

C语言编程问题_百度知道
C语言编程问题
从键盘输入字符串,将下标为偶数位置上的字符按顺序复制到另外一个字符数组中并输出。如:输入“cdefgh”,则输出”ceg”。
#include&stdio.h&#include&string.h&void main(){
char word[100],copy[50];
scanf(“%s”,word);
if(strcmp(word,&END&)==0)
while(word[i]!='\0'){
if(i%2==0) copy[i/2]=word[i];
if(i%2==0) copy[i/2]='\0';
else copy[(i+1)/2]='\0';
printf(&%s\n&,copy);
其他类似问题
c语言编程的相关知识
其他1条回答
#include&iostream&int main (){char a[20];for (int i = 0 ; i&20; i++)cin&&a[i];for (i=0; i&20;i++){if ((i+1)/2==0)cout&&a[i];}return 0;}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言编程问题
C语言编程问题 15
1.X= (y的N次方)+N的阶乘要求最后输出X,Y,N
2,12个整数
2从小到大排序
3求偶数的和
不区分大小写匿名
两个程序在VC6.0上可以运行
第一个程序:
#include &stdio.h&#include &conio.h&#include &math.h&#define N 2#define Y 3main(){& int X,i,j,k;& k=1;& i=(int)pow((float)Y,(float)N);& for(j=1;j&=N;j++)&&& k=k*j;& X=i+k;& printf("X=%d,Y=%d,N=%d\n",X,Y,N);& getch();}
第二个程序:
#include &stdio.h&#include &conio.h&main(){& int i,j,temp,& int a[12]={3,2,1,6,5,4,9,8,7,11,10,12};& printf("The number is:\n");& for(i=0;i&12;i++)&&& printf("%d ",a[i]);& printf("\n");& for(i=0;i&12;i++)&&& for(j=i+1;j&12;j++)&&&&& if(a[i]&a[j])&&&&& {&temp=a[i];&a[i]=a[j];&a[j]=&&&&& }& printf("New sequence is:\n");& for(i=0;i&12;i++)&&& printf("%d ",a[i]);& printf("\n");& i=0;& add=0;& while(i&12)& {&&& if(a[i]%2==0)&&&&& add+=a[i];&&& i++;& }& printf("add=%d\n",add);}
&
第一个程序修改前面的N和Y的值就可以得到不同的结果,第二个修改a[12]={...}里的值就行,顺带一提,两个都是原创~~
我要的是我先输入12个数进去,不是直接就输出,能修改么?
可以把这两行
&int i,j,temp,add];
&int a[12]={3,2,1,6,5,4,9,8,7,11,10,12};&改为:
int i,j,temp,add,a[12];printf("Input number:\n");
for(i=0;i&12;i++)
&& scanf("%d",&a[i]);
1.
/*1.X= (y的N次方)+N的阶乘要求最后输出X,Y,N
*/#include "stdio.h"double powe(double y,int n)//求y的n次方{&double s=1.0;&&for(i=1;i&=n;i++)&{&&s=s*y;&}&}long fac(int n)//求n的阶乘{&long s=1;&&for(i=1;i&=n;i++)&{&&s=s*i;&}&}void main(){&double x,y;&&printf("请输入y:");&scanf("%lf",&y);&printf("请输入N:");&scanf("%d",&n);&x=powe(y,n)+fac(n);&printf("X=%lf\n",x);&printf("Y=%lf\n",y);&printf("N=%d\n",n);}
&
运行截图:
/*2,12个整数
2从小到大排序
3求偶数的和*/#include "stdio.h"void menu(){&printf("\n\t\t\t1.显示这12个数\n");&printf("\t\t\t2.将这12个数从小到大排序\n");&&& printf("\t\t\t3.求偶数的和\n");&&& printf("\t\t\t0.退出\n");}void dis(int a[]){&&printf("这12个数为:\n");&for(i=0;i&12;i++)&{&&printf("%4d",a[i]);&}}void sort(int a[]){&int i,j;&&for(i=0;i&12;i++)&{&&for(j=i+1;j&12;j++)&&{&&&if(a[j]&a[i])&&&{&&&&t=a[j];&&&&a[j]=a[i];&&&&a[i]=t;&&&}&&}&}&printf("排序结果如下:\n");&dis(a);}void sum(int a[]){&&int s=0;&for(i=0;i&12;i++)&{&&if(a[i]%2==0)&&{&&&s=s+a[i];&&}&}&printf("偶数的和为:%d\n",s);}void main(){&&& int a[12];&&& int i,k;&&& printf("请输入12个整数:");&&& for(i=0;i&12;i++)&&& {&&& &scanf("%d",&a[i]);&&& }&&& while(1)&&& {&&& &menu();&&& &printf("请输入您的选择:");&&& &scanf("%d",&k);&&& &switch(k)&&& &{&&& &&case 1:dis(a);&&& &&case 2:sort(a);&&& &&case 3:sum(a);&&& &&case 0:&&& &&default:printf("\t\t\t输入错误!\n");&&& &}&&& &if(k==0)&&& }&&& }
你运行看看行不?
#include &stdio.h&#include &stdlib.h&#include &time.h&#define MAX 12
void main() {&int i,j,n,tmp,m = 1,a[MAX];&double y,&printf("请输入x和n的值:");&scanf("%f,%d",&y,&n);&for(i = 1;i &=i++) m = m*i;&sum =&for(i = 1;i &i++) sum = sum*y;&printf("\n %.2f^%d + %d! = %.2f",y,n,n,sum);&printf("\n击任意键继续......\n\n");&getchar();
&srand((unsigned)time(NULL));& /* 每次引导程序运行时初始化rand()函数,以不使随机数重复 */&for(i = 0; i & 12; i++)& a[i] = rand()%100 + 1;&& /* 1到100之间12个 */&for(i = 0; i & MAX - 1; i++)&&for(j = i + 1;j & MAX;j++)&&&if(a[i] & a[j]) {&&&&tmp = a[i];&&&&a[i] = a[j];&&&&a[j] =&&&}&tmp = 0;&for(i = 0;i & MAX;i++) if(a[i] % 2 == 0) tmp = tmp + a[i];&printf("\n排序后的12个整数为:");&for(i = 0;i & MAX;i++) printf("%5d",a[i]);&printf("\n\n其中偶数之和为:%d\n\n",tmp);}
&
相关知识等待您来回答
编程领域专家c语言编程问题
c语言编程问题
#define MAX 100void PrintQue(int a){ printf("\n
注意!输入的答案必须为英文!
\n\n\n");switch(a){case 1:printf("第一题:千根线,万根线,落到水里就不见。(猜一种天气现象)\n");case 2:printf("第二题:小飞虫,尾巴明,夜黑闪闪象盏灯,古代有人曾借用,刻苦读书当明灯。(猜一动物)\n");case 3:printf("第三题: 兄弟几个真和气,天天并肩坐一起,少时喜欢穿绿衣,老来都穿黄衣裳。(猜一水果)\n");case 4:printf("第四题:小时青青腹中空,长大头发蓬蓬松,姐姐撑船不离它,哥哥钓鱼拿手中。(打一植物)\n");case 5:printf("第五题:狼来了。(猜一水果名)\n");case 6:printf("第六题: 谁天天去看病?(猜一职业)\n");default :}//打印问题的函数}void main(){int i=1;//题目个数char *ans[]={"rain","Firefly","banana", "bamboo","carambola","doctor"};//答案char input[MAX];//输入答案while(1){PrintQue(i);//打印出第i题gets(input);//输入答案if(strcmp(input,ans[i-1])==0)//比较答案{printf("你太有才了\n");++i;//下一题}elseprintf("努力请再试一次\n");if(i>6){printf("恭喜你闯关成功!你真的太厉害了");//总共六题当i=7的时候退出无限循环}}}
与 退出 的应用
老兄,又是你啊,我的程序昨天写好了,而你居然结了,哎!
本来还是想发给你的,不过居然说过10000字发不了,一气之下就算了
好人做到底,现在给你吧,看看合不合适吧!
不过建议还是靠自己好一点,不然C真的难会的哦!
分两半给你,太长了一下发不了。。。自己再去汉化吧!
/************************** 猜谜语游戏 ****************************//**********用这程序可增加、删除、修改、列出自己的谜语**************//**********程序就是由这几个功能函数组合而成的,简单清晰...*********//**********更重要的功能是它能够让别人来猜你设置的谜语哦************//************** 玩前先根据操作内容增加自己的谜语*******************//**********当然程序还存在很多不足,请找出并修改完善它!************//******************************************************************//*************************欢迎您的使用****************************/
#include &stdio.h&#include &conio.h&#include &stdlib.h&#include &string.h&
/*把数组的大小均定义成宏,更好用于修改*/#define
7 /*菜单选项个数*/#define
10 /*谜语序号长度,如第一题,1.等等*/#define
/*谜语内容的长度*/#define
/*答案的长度*/#define
过关或没过关时发了出的话,如:真棒啊!*/#define
10 /* 该谜语的级别,如第一关……*//*过关和还没过关的标志*/#define
ANSWER_CHANCE
3 /*定义了最多可回答的次数*/#define
MAX_RIDDLE_NUMBER
50 /* 限制了最多的谜语数目*/
char *menu[MENU]={ &1-Add riddle&, /*加谜语*/
&2-Guess riddle&,/*猜谜语*/
&3-Show riddle&, /*展示所有谜语*/
&4-Selete riddle&, /*选择谜语*/
&5-Delete riddle&,/*删除谜语*/
&6-Modify riddle&,/*修改谜语*/
&7-exit&/*结束游戏*/
/* 菜单的内容选定义出来*/
struct Riddle
/*构造出一个谜语的结构体*/{/* 上面的宏的长度就是与这对应哦*/
number[NUMBER]; /*序号*/
content[CONTENT]; /*谜语*/
answer[ANSWER]; /*答案*/
passWord[LEN]; /*过关时的表扬话*/
noPassWord[LEN];/*没过关的鼓励话*/
curLevel[LEVEL_LEN]; /*这个谜语的级别*/
passF /*过关的标志,主要利于判断*/};typedef struct Riddle
RIDDLE; /*给它起个别名,减小它的长度*/
FILE
/* 定义一把谜语的文件指针*/int
riddleNumber=0; /*用来记录谜语的数目,这对程序后面有帮助*/
/* 把开文件,有就打开,没有会创建*/void
OpenFile(void){
friddle = fopen(&e:\\riddle.c&,&ab+&);
if (friddle == NULL)/*操作失败的处理*/
printf(&Open the riddle file fail!\n&);
printf(&Any key to exit...\n&);
getch(); /*作用用于停一下,让人看清楚内容,下面很多类似*/
exit(1); /*结束程序*/
}
}
/* 菜单选择 */int
SeleteMenu(void){
int i, selete, t=0;/*textattr是用来设置打出字的颜色和背景色*/
textattr(0x14); /*设置蓝底红字*/
for (i=0; i&MENU; i++) /*选把所有的菜单打印出来,让用户选*/
cputs(menu[i]); /*用C开头的打出来才有颜色(puts没有)*/
printf(&\n\n&);
textattr(0x06); /*字体棕色*/
cprintf(&Enter you choice:----& &);
textattr(0x07); /*回归原来的黑底白字*/
if (t != 0) /*输入错误后要再次输入,第一次不会执行*/
{/*stdin也是文件指针,它是由系统控制的,指向键盘的输入*/
fflush(stdin); /*清除上一次的输入,以免出现错误*/
printf(&Try again!\n&);
scanf(&%d&,&selete);
t++; /* 注意t不是0了*/
}while(selete&0 || selete&MENU); /* 限制0&t&=3*/
/*把结果返回*/}
/* 结束整个程序*/void
CloseAll(void){
fclose(friddle); /* 关闭文件指针*/
printf(&\n\nThank you for your play ^_^\n&);
printf(&Any key to exit...\n&);
getch();}
/*谜语的各个内容的输入定义成函数,方便后面调用*/void
InputRiddle(RIDDLE *temp){
fflush(stdin);/*清空缓存*/
printf(&Enter the riddle number\n&);/* fgets()函数得到了NUMBER-1个字符长的字符串,并存到谜语temp的number
成员中。你可联系gets(temp.number);而下面能限制字符串的个数是哦,注意
一个是用于放尾巴'\0',所以长度是NUMBER-1*//*其实gets是它的一个宏,#define gets(s) fgets(s,LEN,stdin),其中len就
一个被定义的宏,值很大,stdin指明了是从键盘得到输入*/
fgets(temp-&number, NUMBER, stdin);
/* fgets就不再解释了哦*//* 得到谜语的序号,本程序没有排序功能,所以序号要自己按顺序*/
printf(&Input this riddle level\n&);
fgets(temp-&curLevel, LEVEL_LEN, stdin);
/* 得到时谜语的内容*/
printf(&Input the riddle content\n&);
fgets(temp-&content, CONTENT, stdin);/*得到谜语的答案*/
printf(&Input the answer of riddle\n&);
fgets(temp-&answer, ANSWER, stdin);/*得到过关的表示提示话*/
printf(&Input the praising words when passing\n&);
fgets(temp-&passWord, LEN, stdin);/*得到答错时的鼓励话*/
printf(&Input the encouraging words when ont passing\n&);
fgets(temp-&noPassWord, LEN, stdin);/* 过关标志初始为没有过关*/
temp-&passFlag = NO_PASS;}
/* 增加谜语的功能函数*/void
AddRiddle(void){
RIDDLE /*RIDDLE 是上面的谜语结构体*/
fflush(stdin);
/*清除之前的输入,也是防止出错误,stdin也是文件指针
*/
clrscr(); /*清除屏幕*/
printf(&\t\tYou now are enter the adding riddle system\n&);
if (riddleNumber == MAX_RIDDLE_NUMBER)
printf(&Sorry, the riddle reach Maximum Number\n&);
printf(&Any key to return main menu...\n&);
}/* 输入谜语的各个相关内容的函数*/
InputRiddle(&temp);/* 询问是否要储存该新建的谜语*/
printf(&Do you really want to store this riddle? (Y/y) &);
scanf(& %c&,&key);/* tolowr是把大写的字母变小写,小写的就不变*//*这样就不用
key == 'Y' || key == 'y' */
if (tolower(key) == 'y')
{/* fseek使文件指针在文件中能随意移动,0L是long的值,表示移动0字节*//*SEEK_SET,SEEK_CUR,SEEK_END,是三个宏,值为0, 1, 2 *//*表示先把文件指移到文件头,当前的位置,文件尾,再移动N字节(该处0)*/
fseek(friddle, 0L, SEEK_END);/*把该谜语写入文件*/
fwrite(&temp, sizeof(RIDDLE), 1, friddle);
printf(&\nAdd successfuly!\n&);/*添加成功了,谜语的数目记得要增1*/
riddleNumber++;
printf(&The riddle is given up!\n&);
getch();}
/*用于判断一个文件是否为空*/int
JudgeFileEmpty(void){/*文件的长度*//* 移动文件指针到文件的最后*/
fseek(friddle, 0L, SEEK_END);/* 得到文件的长度(字节)*/
flenth = ftell(friddle);/*表示文件为空*/
if (flenth == 0)
printf(&Sorry, the riddle file is empty!\n&);
printf(&----&Add riddle to file first!\n\n\n&);
getch();/* 调用了增加谜语的函数*/
}/*得到了文件里谜语的总数目flenth是文件长度,而sizeof(RIDDLE)得到一个
谜语长度*/
riddleNumber = flenth/sizeof(RIDDLE);
return 0;}
/*的函数,参数是选从第几关开始玩,方便于后面选关*/void
GuessRiddle(int
char answer[ANSWER],
chance=ANSWER_CHANCE;/*定义了回答次数*/
/* 上面指针到文件尾,这里要移回开头*/
fseek(friddle, level*sizeof(RIDDLE), SEEK_SET);
/* 读出第一个*/
fread(&riddle, sizeof(RIDDLE), 1, friddle);/* 当没有过关时一直是该问题*/
while (riddle.passFlag != PASS) {
clrscr();/*打出序号*/
textattr(0x04); /*黑底,这些不要可以自己去掉就行*/
cputs(riddle.number);
textattr(0x01); /*黑底蓝字*/ /*由于C开头能打出颜色字,但'\n'只是换行,而没有回车,所以要自己加上
回车符节'\r'*/
cprintf(&\r------&);/*打出难度级别*/
cputs(riddle.curLevel);
putch('\n');/*打出内容*/
textattr(0x07); /*注意变回黑底白色的字,不然太多颜色不好*/
puts(riddle.content);/* 清除以前的输入*/
fflush(stdin);
printf(&\n--&Your Answer: &);/* 得到用户的答案*/
fgets(answer, ANSWER, stdin);/* 与谜语的答案对比,判断是否正确*/
if (strcmp(riddle.answer, answer) == 0)/*若对*/
{/*过关标志置为过关*/
riddle.passFlag = PASS;
printf(&\n\nCongratulating you succeed to pass!!^_^\n--
/*打出表扬的话*/
puts(riddle.passWord);
chance++; /*过关就奖励一个答题机会,增加哦^_^*//* 询问是继续还是退出*/
printf(&\nDo you want to challenge next riddle (Y/y)?
scanf(& %c&,&key);
if (tolower(key) != 'y')
else /*若不对*/
/*打出不对的话*/
printf(&Oh, the answer is wrong!\n----&&);
puts(riddle.noPassWord);
chance--; /*去掉相应的一次机会了*/
if (chance == 0) /*生命耗尽了,回单*/
printf(&Your answer-chance is over!\n&);
printf(&Any key to return main menu...\n&);
printf(&You have %d answer-chance left!
getch();/* 询问是否继续该题还是退出*/
printf(&\nTry again (Y/y)?\n&);
scanf(& %c&,&key);
if (tolower(key) != 'y')
printf(&Bye-Bye!\n&);
}while (feof(friddle) == 0); /*当时*//* 若是文件结束跳出的,打出你所有关都过了*/
if (feof(friddle) != 0)
printf(&\n\nAll the level were pass!!!\n\t&);
printf(&You are so clever, ^_^--^_^\n\n&);
printf(&Any key to return the main menu...&);
/* 测试一个文件是否结束*/int
TestFileEnd(void){/*因为feof要读完所有的内容,还要读完那结束符-1后,才算文件结束,所以
要我们先去读那个结束符哦*/
fgetc(friddle); /*先得一个*/
if (feof(friddle) != 0) /*判断现在是否结束了*/
{/*由于是没结束,文件指针当然又回到原来位置了*/
fseek(friddle, -1L, SEEK_CUR);
/*展示所有谜语内容和序号 的函数*/void
ShowAllRiddle(void){
riddleNumber=0; /*谜语数可先置0*/
clrscr();/*文件指针移件的开始*/
fseek(friddle, 0L, SEEK_SET);
printf(&%d. &,riddleNumber+1); /*打出序号,可供玩家选择用*//*每次从文件读一个谜语*/
fread(&riddle, sizeof(RIDDLE), 1, friddle);
puts(riddle.content);/*每打了出一个谜语就相应增1*/
riddleNumber++;
if (TestFileEnd() == 1)/*文件结束了*/
printf(&\nTotal riddle = %d\n&, riddleNumber); /*打出谜语总数*/
printf(&Any key to do next...\n&);
/*让玩家选择打出的谜语*/void
InputRiddleNumber(int
times=0; /*用于输入错误打出信息*/
printf(&\nWhich level do you want selete? (press the number key)\n
fflush(stdin);
if (times != 0) /*第一次的输入不用打出*/
{ printf(&Error! Input again!\n----&&);
scanf(&%d&, key);
}while (*key&1 || *key&riddleNumber); /*限制了输入的数范围*/}
/*选关函数*/void
SeleteRiddle(void){/*先展示所有谜语*/
ShowAllRiddle();/*让玩家选择*/
InputRiddleNumber(&key);/*按所选的关数开始玩*/
GuessRiddle(key-1);}/*用于重新打件,以达到清除原文件内容的目的*/void
OpenFileAgain(void){
friddle = fopen(&e:\\riddle.c&,&wb+&);/*以只写打开就会清除*/
if (friddle == NULL)/*操作失败的处理*/
printf(&Open the riddle file fail!\n&);
printf(&Any key to exit...\n&);
getch(); /*作用用于停一下,让人看清楚内容,下面很多类似*/
exit(1); /*结束程序*/
}/*删除已经写好的谜语*/void
DeleteRiddle(void){/*定义了一个用于放从文件中读出的所有谜语,你也可改为动存*/
RIDDLE allRiddle[MAX_RIDDLE_NUMBER];
key,/*先展示*/
ShowAllRiddle();/*选择*/
InputRiddleNumber(&key);/*文件读取的指针移到文件开始*/
fseek(friddle, 0L, SEEK_SET);/*一下读出所有谜语*/
fread(allRiddle, sizeof(RIDDLE), riddleNumber, friddle);/*关闭文件*/
fclose(friddle);/*以清除的方式打开*/
OpenFileAgain();
/*除了要删除的不写进去,其它的谜语继续写进文件,达到删除目的*/
for (i=1; i&=riddleN i++)
if (i != key)
fwrite(&allRiddle[i-1], sizeof(RIDDLE), 1, friddle);
}/*注意总的谜语数也要减1*/
riddleNumber--;
printf(&\nYou delete successfully!!\n&);
/*修改谜语的函数,和删除类似*/void
ModifyRiddle(void){
allRiddle[MAX_RIDDLE_NUMBER];
ShowAllRiddle();
InputRiddleNumber(&key);
fseek(friddle, 0L, SEEK_SET);
fread(allRiddle, sizeof(RIDDLE), riddleNumber, friddle);/*这里是玩家选中的谜语对它进行重新输入,达到修改的目的*/
InputRiddle(&allRiddle[key-1]);/* 关闭文件*/
fclose(friddle);/*以删除原文件内容的方式打开*/
OpenFileAgain();/*把所有的再次写入文件中*/
fwrite(allRiddle, sizeof(RIDDLE), riddleNumber, friddle);
printf(&\nYou modify successfully!!\n&);
/* 根据用户选择的选项进行调用相关的函数处理任务 */int
selete){/*如果文件为空,则除了执行退出和添加谜语的功能外,其它不执行*/
if (selete!=1 && selete!=7 && JudgeFileEmpty()==1)
switch (selete)
AddRiddle();
GuessRiddle(0);/*不是选关的就从第1个谜语开始*/
ShowAllRiddle();
SeleteRiddle();
DeleteRiddle();
ModifyRiddle();
default: /* 防止可能有意想不到的BUG*/
printf(&You program have Bug\n&);
/* 主函数就是各个函数的调用,有机的结合使用*/int
main(void){
OpenFile(); /*先打开文件*/
clrscr(); /*每次都*/
selete = SeleteMenu(); /*得到选择*/
Play(selete); /* 调用对应的功能函数*/
}while(result != 0);
/* 根据play的决定是否结束*/
CloseAll(); /* 关闭结束*/
return 0;}
其他回答 (1)
#include &stdio.h&#include &string.h&
#define MAX 100
void PrintQue(int a){
printf(&\n 注意!输入的答案必须为英文! \n\n\n&); switch(a) { case 1:
printf(&第一题:千根线,万根线,落到水里就不见。(猜一种天气现象)\n&);
printf(&第二题:小飞虫,尾巴明,夜黑闪闪象盏灯,古代有人曾借用,刻苦读书当明灯。(猜一动物)\n&);
printf(&第三题: 兄弟几个真和气,天天并肩坐一起,少时喜欢穿绿衣,老来都穿黄衣裳。(猜一水果)\n&);
printf(&第四题:小时青青腹中空,长大头发蓬蓬松,姐姐撑船不离它,哥哥钓鱼拿手中。(打一植物)\n&);
case 5:printf(&第五题:狼来了。(猜一水果名)\n&);
printf(&第六题: 谁天天去看病?(猜一职业)\n&);
default: } }
//打印问题的函数void main(){ //答案 char *ans[]={&rain&,&Firefly&,&banana&, &bamboo&,&carambola&,&doctor&};
iOK[6]; int
//输入答案 char input[MAX];
int i=1; // 题目个数 for(iLoop=0x0; iLoop&0x6; iLoop++) {
iOK[iLoop] = 0x0; }
while(1) {
printf(&\n请按1~6选择对应题号进行回答,其它数值退出程序:&);
scanf(&%d&, &i);
if ((i&1) && (i&6))
//打印出第i题
PrintQue(i);
//输入答案
scanf(&%s&, input);
if(strcmp(input, ans[i-1])==0)//比较答案
printf(&你太有才了\n&);
iOK[i-1] = 0x1;
printf(&努力请再试一次\n&);
iSum = 0x0;
for(iLoop=0x0; iLoop&0x6; iLoop++)
iSum += iOK[iLoop];
if(iSum&=6)
printf(&恭喜你闯关成功!你真的太厉害了&); //总共六题当i=7的时候退出无限循环
相关知识等待您来回答
编程领域专家C语言编程问题_百度知道
C语言编程问题
我是个刚接触计算机的菜鸟,想学编程,是先学C语言还是汇编语言程序设计!能不能给我推荐几本书,谢谢了
提问者采纳
刚入门先学C语言比较好,汇编语言是在你熟悉各种程序、命令还有很多关于电脑的知识后才慢慢学起的。自学选择谭浩强的《C程序设计》即可,关键是上机实验编程序。《C程序设计》第三版
绿色封面 有配套习题集解和上机指导一本 清华大学出版社。还有一本《C语言程序设计》也是谭浩强的清华大学出版社 内容基本上是一样的。
《C程序设计》第三版 比那个《C语言程序设计》多了一章( 程序的灵魂-算法浮珐蹿寡讷干寸吮丹经)只需选择一本,我个人觉得选择 《C程序设计》即可。
其他类似问题
c语言编程的相关知识
其他2条回答
谭浩强的C语言,建浮珐蹿寡讷干寸吮丹经议你先学习C语言。。。汇编语言是在你对电脑的各类接口有了一定的了解,还要对电脑的中断、指令系统有了解,然后才能学习的
我当时先学习的C语言,国内比较好的是谭浩强编写的《C语言程序设计》,有了一定的编程基础和编程思想,再学习汇编语言,要不会觉得太枯燥,汇编是低级语言,很多理解是有难度的
您可能关注的推广回答者:回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C语言编程问题请问_百度知道
曾经也遇到过同样的题目,当时没设计好,今天终于完成了这个工作。对程序有任何疑问请加QQ:我的算法与其他的算法不一样,如果你能细细分析就可以发现,代码如下:#include&stdio.h&#include&time.h&#include&stdlib.h&void insert_sort(int b[52]){int n[52] = {0}, i,for(i = 0; i & 52; i++){for(j = 0; j &= b[i]; j ++){if(n[j] == 1)b[i] ++;}n[b[i]] = 1;}}int main(){char s[4];
int d,i,j;
int b[52]={0};
srand(time(NULL));
for(i = 52; i & 0; i --) //这种方式避免了一直产生随机数
{d = rand() %b[52 - i] =
}insert_sort(b);
//调用了插序函数
printf(&\n&);
for(i = 0; i & 52; i ++)
printf(&%4d&, b[i]);
//b[i]里面存储的是随机的牌
printf(&\n&);//只需要用代码发给四个人显示出来就OK/*给个示例printf(&player1: &);for(i = 0; i & 52; i += 4){if(b[i] / 13 == 0)if(b[i] % 13 == 0)sprintf(s, &hA&);else if(b[i] % 13 == 10)sprintf(s, &hJ&);else if(b[i] % 13 == 11)sprintf(s, &hQ&);else if(b[i] % 13 == 12)sprintf(s, &hK&);elsesprintf(s, &h%d&, b[i] % 13 + 1);else if(b[i] / 13 == 1)if(b[i] % 13 == 0)sprintf(s, &sA&);else if(b[i] % 13 == 10)sprintf(s, &sJ&);else if(b[i] % 13 == 11)sprintf(s, &sQ&);else if(b[i] % 13 == 12)sprintf(s, &sK&);elsesprintf(s, &s%d&, b[i] % 13 + 1);else if(b[i] / 13 == 2)if(b[i] % 13 == 0)sprintf(s, &dA&);else if(b[i] % 13 == 10)sprintf(s, &dJ&);else if(b[i] % 13 == 11)sprintf(s, &dQ&);else if(b[i] % 13 == 12)sprintf(s, &dK&);elsesprintf(s, &d%d&, b[i] % 13 + 1);else if(b[i] / 13 == 3)if(b[i] % 13 == 0)sprintf(s, &cA&);else if(b[i] % 13 == 10)sprintf(s, &cJ&);else if(b[i] % 13 == 11)sprintf(s, &cQ&);else if(b[i] % 13 == 12)sprintf(s, &cK&);elsesprintf(s, &c%d&, b[i] % 13 + 1);printf(&%-4s&, s);}*/}
其他类似问题
按默认排序
其他4条回答
您可能的,貌似为什么clrscr()函数不使用编译器错误,不你吗?哦,在事实上,有两个问题: ---------------
1 Clrscr()函数在头文件CONIO.H的原型是无效的clrscr(无效)。 所以,[如果你有],??然后的基础上,你原来的程序加一个#include
但不幸的是,编译器仍然是一个错误,甚至发出了“ “clrscr'未定义,假设外部返回int”的错误,是不是?
所以,你需要知道约2:00
2,VC平台,显然不能使用TC平台控制台声明conio的在(想更具体,请参阅免费的C标准,他是非常有帮助的) ---------------------------------- ---- 废话结束,我可以帮你:#包括 #包括 诠释的main() /& {字符CH;
printf的(“输入通道”);
CH = getchar函数(); 系统(“CLS”); / /你的Clrscr()功能类似的头文件stdlib.h中 printf的(“%C%C \ n”,CH,CH);
printf(“请%C%C \ n”,CH,CH); BR /& printf的(“%C%C \ n”,CH,CH);
printf的(“%C \ N”,CH,CH);
printf的(“%C%C \ n “,CH,CH);
printf的(”%C%C \ n“,CH,CH);
printf的(”%C%C \ n“,CH,CH);
不知道要问什么?让大家看算法是不是最优化的,你把算法贴出来让大家看看。
电子工业出版社的c++基础教程上有源代码
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言编程 的文章

 

随机推荐