c语言程序设计编程题(大一c语言编程题库100题)

admin 312 0

大家好,感谢邀请,今天来为大家分享一下c语言程序设计编程题的问题,以及和大一c语言编程题库100题的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

一、试题题目(编程要求): c语言题

第五届全国ITAT教育工程就业技能大赛复赛试题 C语言程序设计B卷

请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。

请务必按照试卷要求为文件命名。

考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。

注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。

然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。

注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。

请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。

注意:凡违反上述规定的考生,其成绩一律按零分处理。

题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.C”)。

重要提示:由于时间有限,请考生首先保证编写的程序在Wintc环境下可以编译通过并执行,并在此基础上保证完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。

1、编程解决如下问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁,鸡母,鸡雏各几何?(20分)

2、编程实现:有二维数组a[3][3]=,,},将数组a的每一行元素均除以该行上绝对值最大的元素,按行输出新数组。(20分)

3、编程:设x、y取值为区间[1,10]的整数, f(x,y)=(3x-2y)/(x+y),求使f(x,y)取最小值的x1、y1,要求使用自定义函数实现f(x,y)功能。(20分)

4、编写函数fun,其功能是:在字符串中所有数字字符前加一个“*”字符,要求通过指针实现。(20分)

5、编程:已知学生记录由学号和学习成绩构成,N名学生的记录已存入结构体数组中,找出成绩最低的学生,并输出这个学生的信息,已知学生信息如下。(20分)

A01,81;A02,89;A03,66;A04,87;A05,77

A06,90;A07,79;A08,61;A09,80;A10,71

6、附加题:编写一个函数InverseByWord(char*sentence),实现一个英文句子按单词逆序存放的功能,并给出测试程序。(50分)

如:This is an interesting programme.

逆序后变为:.programme interesting an is This

第五届全国ITAT教育工程就业技能大赛复赛试题

请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。请务必按照试卷要求为文件命名。考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。

注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。

然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。

注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。

请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。

注意:凡违反上述规定的考生,其成绩一律按零分处理。

题目命名要求:请将编写好的源程序以题号命名,例如第1题的源程序保存为“1.C”。

重要提示:由于时间有限,请考生首先保证编写的程序在Wintc环境下可以编译通过并执行,并在此基础上完成考题要求的全部功能,以免因编译不通过影响考生的考试成绩。

1、编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。(20分)

***(“*”表示当前状态下每个容器的盛水量)

2、编程实现:有二维数组a[3][3]=,,},将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。(20分)

3、编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,要求使用自定义函数实现f(x)功能。(20分)

4、编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函数fun实现输入字符串反向。(20分)

5、已知学生三门课程基本信息如下。请使用结构体编程,计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并按平均分排序。(20分)

6、附加题:编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如:

Twinkle twinkle little star 000(回车)

二、c语言编程题

2011年小学期C语言程序设计训练实习报告程序源代码

/*输入一串字符,以“?”结束,统计各字母出现的次数,并按字母出现的多少输出(先输出字母出现多的,次数相同的按照字母表顺序输出,不出现的不输出)*/

printf("请输入一行字符,以?结尾:\n");

printf("请重新输入,以?结尾!\n");

if(a[i]==j) printf("%c字母有%d个。\n",i+97,a[i]);

for(i=0;str[i]!='?';i++)

if(str[i]>='a'&&str[i]<='z') a[str[i]-97]++;

else if(str[i]>='A'&&str[i]<='Z') a[str[i]-65]++;

/*插入排序(在输入的过程中完成排序)。以任意次序读入20个数,将第1个数放入数组a的第一个元素中。以后读入的数应与已经存入数组a中的数进行比较,确定它在从小到大排列中所应处的位置。将该位置及其以后的元素向后推移一个数的位置,将新读入的数填入空出的位置中。这样在数组a中的数总是从小到大排列的,处理完后输出。*/

printf("请输入第%d个数:",j+1);

for(k=j;k>i;k--) a[k]=a[k-1];

printf("排序为:%d\t",a[i]);

/*从键盘上接收一个最多至9位整数、2位小数的数值,请将其转换成大写金额,即写成:×亿×仟×佰×拾×万×仟×佰×拾×元×角×分的形式。例如:当从键盘上输入 374910.56时,输出结果为:×亿×仟×佰叁拾柒万肆仟玖佰壹拾零元伍角陆分或叁拾柒万肆仟玖佰壹拾零元伍角陆分*/

char a[13]={'0'};int N,i,M,n=0;double money=0;int j,b,t;long c[11];char*d[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

printf("请输入金额(最多至9位整数2位小数):\n");

{a[i]=a[i+1];a[i+1]=a[i+2];}}}

{money=money+(a[i]-48)*pow(10,N-i-2);}

money=money+(int)(a[i]-48)*pow(10,N-i-1);

money=money*10; b=(long int)(money);

c[0]=b/10000000000;t=b-10000000000*c[0];

c[1]=t/1000000000;t=t-1000000000*c[1];

c[2]=t/100000000;t=t-100000000*c[2];

c[3]=t/10000000;t=t-10000000*c[3];

c[4]=t/1000000;t=t-1000000*c[4];

c[5]=t/100000;t=t-100000*c[5];

{ printf("%s",d[j]);f(i);n=1;}

if(a[i]=='0'&&n==1){printf("%s",d[0]);f(i);}}

{char*a[]={"亿","仟","佰","拾","万","仟","佰","拾","元","角","分"};int j;

/*编程实现将字符串中最短的单词输出,在主函数中输入字符串,编写一个函数完成最短单词查找,例如:输入:Happy new year最短单词为new,输出new*/

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))

int i,l,len=0,length=100,flag=1,place=0,point;

/*用随机函数产生数据,设计二位整数的加、减、乘算式各一题(减法算式应保证被减数大于减数)。让学生回答,由计算机给出正确与否的判断,并最后给出总得分。得分计算方法:算对加、减法各得30分,算对乘法得40分,算错得0分。然后由计算机输出询问信息,学生选择回答,以决定是否继续一次新的测验。*/

printf("请回答问题一:\n");

{i=i+30;printf("回答正确!\n");}

b=rand()%(100-9+1)+9;}while(a<b);

printf("请回答问题二:\n");

{i=i+30;printf("回答正确!\n");}

printf("请回答问题二:\n");

{i=i+40;printf("回答正确!\n");}

printf("您的总得分为:%d\n",i);

printf("您希望再做一轮新的测试吗?\n请输入'Y'或'N'\n");

if(c!='y'&&c!='Y'&&c!='n'&&c!='N')

{printf("输入错误!重新输入:\n");

if(c=='y'||c=='Y')

三、C语言程序设计指针雨数组三道题

原程序不能实现pt1指向a和b的大者,pt2指向小者的目的,

应该把指向int型的指针p改成int型,只需改变相应的交换程序,其它不用变.

改正后的完整的C语言程序如下(改动的地方见注释)

p=*p1;*p1=*p2;*p2=p;//这里改变相应的交换程序

printf("数列的前%d项计算结果S=%f",n+1,sn);

分析用二维数组指针p打印二维数组的每一行字符串

char a[4][5]={"ABCD","EFGH","IJKL","MNOP"};

for(j=0;j<4;j++) printf("%c",*(*(p+i)+j));

将程序第9行中的"%c"改成"%s",则改变后的程序如下(改动的地方见注释)

char a[4][5]={"ABCD","EFGH","IJKL","MNOP"};

printf("%s",*(p+i));//这里去掉for_j循环

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!