C语言程序设计题目Word文件下载.docx

上传人:b****3 文档编号:7102542 上传时间:2023-05-07 格式:DOCX 页数:43 大小:25.51KB
下载 相关 举报
C语言程序设计题目Word文件下载.docx_第1页
第1页 / 共43页
C语言程序设计题目Word文件下载.docx_第2页
第2页 / 共43页
C语言程序设计题目Word文件下载.docx_第3页
第3页 / 共43页
C语言程序设计题目Word文件下载.docx_第4页
第4页 / 共43页
C语言程序设计题目Word文件下载.docx_第5页
第5页 / 共43页
C语言程序设计题目Word文件下载.docx_第6页
第6页 / 共43页
C语言程序设计题目Word文件下载.docx_第7页
第7页 / 共43页
C语言程序设计题目Word文件下载.docx_第8页
第8页 / 共43页
C语言程序设计题目Word文件下载.docx_第9页
第9页 / 共43页
C语言程序设计题目Word文件下载.docx_第10页
第10页 / 共43页
C语言程序设计题目Word文件下载.docx_第11页
第11页 / 共43页
C语言程序设计题目Word文件下载.docx_第12页
第12页 / 共43页
C语言程序设计题目Word文件下载.docx_第13页
第13页 / 共43页
C语言程序设计题目Word文件下载.docx_第14页
第14页 / 共43页
C语言程序设计题目Word文件下载.docx_第15页
第15页 / 共43页
C语言程序设计题目Word文件下载.docx_第16页
第16页 / 共43页
C语言程序设计题目Word文件下载.docx_第17页
第17页 / 共43页
C语言程序设计题目Word文件下载.docx_第18页
第18页 / 共43页
C语言程序设计题目Word文件下载.docx_第19页
第19页 / 共43页
C语言程序设计题目Word文件下载.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计题目Word文件下载.docx

《C语言程序设计题目Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计题目Word文件下载.docx(43页珍藏版)》请在冰点文库上搜索。

C语言程序设计题目Word文件下载.docx

i;

j++)sum=sum+a[j];

s=sum+day+1;

j++)

sum=sum+a[j];

s=sum+day;

return(s);

BC语言程序设计教程(第三版)课后习题11.3

现有有N个学生的数据记录,每个记录包括学号、、三科成绩。

编写一个函数input,用来输入一个学生的数据记录。

编写一个函数print,打印一个学生的数据记录。

在主函数调用这两个函数,读取N条记录输入,再按要求输出。

N<

100【考虑用什么做函数的参数?

结构体变量,还是指向结构体的指针变量,还是用结构体数组名?

非结构体做法

#include<

stdio.h>

inti,n;

inta[100],b[100],c[100];

chare[100][81],f[100][81];

%d"

n);

for(i=1;

i<

=n;

i++)

scanf("

%s%s%d%d%d"

e[i],f[i],&

a[i],&

b[i],&

c[i]);

printf("

%s,%s,%d,%d,%d\n"

e[i],f[i],a[i],b[i],c[i]);

return0;

C结构体训练

有N个学生,每个学生的数据包括学号、、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、、3门课成绩)

注意:

刻画学生的数据类型必须用结构体类型。

不能用多个数组解决

structstu{

intnum;

charname[20];

intscore1;

intscore2;

intscore3;

}boy[1024];

intN,i,s,s1=0,s2=0,s3=0,max=0,c;

floatave1,ave2,ave3;

N);

for(i=0;

N;

i++)

%d%s%d%d%d"

boy[i].num,&

boy[i].name,&

boy[i].score1,&

boy[i].score2,&

boy[i].score3);

s1+=boy[i].score1;

s2+=boy[i].score2;

s3+=boy[i].score3;

s=boy[i].score1+boy[i].score2+boy[i].score3;

if(s>

max)

{

max=s;

c=i;

}

ave1=(s1*1.0)/(N*1.0);

ave2=(s2*1.0)/(N*1.0);

ave3=(s3*1.0)/(N*1.0);

%.0f%.0f%.0f\n"

ave1,ave2,ave3);

%d%s%d%d%d\n"

boy[c].num,boy[c].name,boy[c].score1,boy[c].score2,boy[c].score3);

D矩阵转置

输入N*N(N<

100)的矩阵,输出它的转置矩阵。

intN,a[100][100],i,j,b[100][100];

for(j=0;

j++)

scanf("

a[i][j]);

b[j][i]=a[i][j];

N-1;

printf("

%d"

b[i][j]);

b[i][N-1]);

E求矩阵的外围元素之和

求矩阵的外围元素之和

 

inta[10][10],i,j,N,s=0;

if(i==0||j==0||i==N-1||j==N-1)

s=s+a[i][j];

F求n到m之间的素数并输出

求n到m以内的素数(包含n,m,且m>

=n>

=10,n<

=m<

=100)n和m由键盘输入,并将这些素数存储到数组a中并输出(每个素数后面带一个空格)

要求:

(1)编写如下接口的功能函数:

intfun(intn),该函数的功能是判断n是不是素数。

若是,返回1,若不是返回0。

(2)main函数去调用该功能函数

intfun(intn)

intt;

for(t=2;

t<

n;

t++)

if(n%t==0)break;

if(t<

n)return0;

elsereturn1;

intn,m,i,a[90],j=0,b;

%d,%d"

n,&

m);

for(i=n;

=m;

if(fun(i)==1)

a[j++]=i;

for(b=0;

b<

j;

b++)

a[b]);

G<

编程题>

删除字符串中的特殊符号

指定字符串中仅包含字母(含大小写),空格和星号*,编写自定义函数fun,删除其中的*。

程序的主体框架已经提供在下面,可以直接复制粘贴到答题框。

注意仅能改动注释之内的内容,注释外内容不得修改,否则将被判违规。

voidfun(char*p)

/*****注释1:

答题请在本行与注释2之间编写程序。

本行注释不得删除****/

char*p1,*p2;

for(p1=p2=p;

*p1;

p1++)

if(*p1!

='

*'

*p2++=*p1;

*p2=0;

returnp;

/*****注释2:

答题请在本行与注释1之间编写程序。

charb[1024];

while(gets(b)!

\0'

fun(b);

%s\n"

b);

return1;

H<

改错题>

冒泡排序

下列给定程序中函数fun的功能是:

用冒泡法对6个字符串按由小到大的顺序进行排序。

请改正程序中的错误,使它能得出正确的结果。

注意:

不要改动main函数,不得增行或删行,也不得更改程序的结构.改错位置已经标注为found,所有改错只能在found附近修改。

#include<

string.h>

#include<

#defineMAXLINE20

fun(char*pstr[6])

inti,j;

char*p;

5;

/**********found***************/

for(j=i+1;

6;

if(strcmp(*(pstr+i),*(pstr+j))>

0)

p=*(pstr+i);

*(pstr+i)=*(pstr+j);

*(pstr+j)=p;

intmain()

inti;

char*pstr[6],str[6][MAXLINE];

pstr[i]=str[i];

%s"

pstr[i]);

fun(pstr);

TheStringaftersorting:

\n"

);

I<

填空题>

2015C二级考试无纸化操作题

(2)

下列给定程序中,函数fun的功能是:

把形参a所指数组中的最小值放在元素a[O]中,接着把a所指数组中的最大值放在a[1]元素中;

再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],依此类推。

例如,若a所指数组中的数据最初排列为:

9,1,4,2,3,6,5,8,7;

则按规则移动后,数据排列为:

1,9,2,8,3,7,4,6,5。

形参n中存放a所指数组中数据的个数。

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!

J编辑部的故事

(1)

文艺青年杂志社对作者按字符数付稿酬。

编辑部的编辑遇到一个烦心事,最近作者群中流行“咆哮体”文书,一句话里带有很多个感叹号,而且咆哮体中经常混杂着“有木有”和“尼玛”这样无用的词语,使得杂志的额外支出大大增加。

你需要帮助解决这一个问题,将文本中多个连续的感叹号,无用的“有木有”和“尼玛”等无用的词。

K<

39

下面程序中函数fun的功能是:

统计p2子字符串在p1所指的主字符串中出现的次数。

请改正程序中的错误,使得它能得出正确结果

intfun(char*p1,char*p2)

inti,j,k,num=0;

/*****found****/

p1[i];

for(j=i,k=0;

p2[k]==p1[j];

k++,j++)

if(p2[k+1]=='

num++;

Break;

}

returnnum;

charstr[80],substr[80];

gets(str);

gets(substr);

fun(str,substr));

L<

33

编写函数fun,其功能是找出M×

N的二维浮点数组中最大元素的值,将这个数输出。

(M,N均小于100)

voidfun(float*p,intM,intN)

floatmx=*(p+0);

/******begin******/

1024;

if(*(++p)>

mx)

mx=*p;

/*******end******/

printf("

%.4f"

mx);

inta[100][100],M,N,i,j;

%d%d"

M,&

M;

for(j=0;

%f"

fun(&

a[0][0],M,N);

M第七章之找到第一名

(1)

某市进行了一次英语竞赛,一共有N个人报名参加(N<

1000000),按照报名顺序分别是1号~N号。

英语竞赛的得分范围是0~100分,可能会有0.5分存在。

现在给你N的值和按照号码排列的得分,要求输出第一名的号码。

若是有并列第一名则需要同属输出多个第一名的号码。

inta[100],N,i,max=0,n;

N=%d"

a[i]);

if(a[i]>

max=a[i];

if(max==a[i])

n=i+1;

n);

N第七章之删除数组元素

(1)

输入N个大小范围在0~100(含0和100)的整数(N<

100),并未排序且不重复。

从中寻找一个指定的数的下标号(从1开始),从数组中删除,并将剩余的数组内容输出。

intn,a[99],i,b;

=n-2;

%d,"

}scanf("

a[n-1]);

b);

if(b!

=n)

=b-2;

Printf("

a[i]);

for(i=b;

}printf("

a[n-1]);

=n-3;

a[n-2]);

O第七章之冒泡排序法

(1)

使用冒泡排序法对数组元素进行排序,要求输出每一趟排序后的数组内容。

数组大小N<

10,数组元素定为正整型。

inta[10],i=0,j,n,t,m;

while(scanf("

a[i])!

=EOF)

i++;

n=i;

n-1;

n-i-1;

if(a[j]>

a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

a[0]);

for(m=1;

m<

m++)

printf("

%d"

a[m]);

P所有串长超过k的字符串中后面的字符删除

函数fun的功能是:

在形参ss所指字符串数组中,将所有串长超过k(K<

=N)。

的字符串中后面的字符删除,只保留前面的k个字符。

ss所指字符串数组中共有M(M<

=5)个字符串,且串长小于N(N<

=10)。

voidfun(charss[][11],intM,intk)

/*******yourcodestart******/

inti=0;

while(i<

M)

ss[i][k]='

;

i++;

/******yourcodeend******/

intM,k,i;

charss[5][11];

M);

k);

gets(ss[0]);

gets(ss[i]);

fun(ss,M,k);

puts(ss[i]);

Q字符串按长度由短到长进行排序

voidfun(charss[][11],intM)

char*ps[5],*tp;

inti,j,k;

i++)ps[i]=ss[i];

M-1;

k=i;

for(j=i+1;

if(strlen(ps[k])>

strlen(ps[j]))

k=j;

tp=ps[i];

ps[i]=ps[k];

ps[k]=tp;

puts(ps[i]);

{intM,i;

i++)gets(ss[i]);

fun(ss,M);

R补齐字符串

求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。

字符串数组中共有M(M<

=5)个字符串,且串长小于N。

(N<

=10)

{inti,j,k=0,n,m,len;

{len=strlen(ss[i]);

if(i==0)n=len;

if(len>

n)

n=len;

i<

i++)

if(i!

=k)

{m=n;

(最大长)

len=strlen(ss[i]);

for(j=len;

j>

=0;

j--)

ss[i][m--]=ss[i][j];

j<

n-len;

j++)

ss[i][j]='

i++)puts(ss[i]);

S每个单词的第一个字母改成大写

读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里"

单词"

是指由空格隔开的字符串)。

#include"

ctype.h"

string.h"

voidupfst(char*p)

if(*p!

*p=toupper(*p);

p++;

for(;

*p;

p++)

if(*(p-1)=='

'

*p!

*p=toupper(*p);

charchrstr[81];

gets(chrstr);

upfst(chrstr);

chrstr);

T文本分析2

函数fun的作用是:

统计整型变量m中各数字出现的次数,并存放到数组a中,其中:

a[0]存放0出现的次数,a[1]存放1出现的次数,……a[9]存放9出现的次数

voidfun(intm,inta[10])

{inti;

for(i=0;

10;

a[i]=0;

while(m>

0){

i=m%10;

a[i]++;

m=m/10;

{

intm,a[10],i;

&

fun(m,a);

for(i=0;

i++)

U删除所有串长超过k的字符串

从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数,并输出剩下的字符串。

=10)),

intfun(charss[][11],intM,intk)

inti,j=0,l;

l=strlen(ss[

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2