C语言程序填空(8)

2019-07-29 11:11

str[j+1]

4). fputs(str,fp) 或 fprintf(fp,\或 fprintf(fp,\

功能:找出数组中最大值和此元素的下标,数组元素的值由键盘输入。 #include \void main() {

int a[10],*p,*s,i; for(i=0;i<10;i++)

/***********SPACE***********/ scanf(\【?】);

/***********SPACE***********/ for(p=a,s=a;【?】<10;p++)

/***********SPACE***********/ if(*p【?】*s) s=p;

/***********SPACE***********/ printf(\【?】,s-a); }

答案:1). a + i 或 &a[i]

2). p-a 或 -a+p;3). >;4). *s

功能:产生并输出如下形式的方阵。 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 main() {

int a[7][7]; int i,j;

for (i=0;i<7;i++) for (j=0;j<7;j++) {

/***********SPACE***********/ if (【?】) a[i][j]=1;

/***********SPACE***********/ else if (ij&&i+j<6) a[i][j]=3;

/***********SPACE***********/ else if (【?】) a[i][j]=4; else a[i][j]=5;

}

for (i=0;i<7;i++) {

for (j=0;j<7;j++) printf(\

/***********SPACE***********/ 【?】; } }

答案:1). i == j || i + j == 6 2). a[i][j]=2

3). i6 或 j>i && i + j>6 或 ii && i + 6

功能:用结构体调用的方法编程。要求输入A,B,C,D,E,F五个元素的数值,并按从大到小的顺序输出。

#define N sizeof tbl/sizeof tbl[0] /*取得数组有多少个元素*/ int A,B,C,D,E,F; struct ele {

char vn;

/***********SPACE***********/

int 【?】;

}tbl[]={{'A',&A},{'B',&B},{'C',&C},{'D',&D},{'E',&E},{'F',&F}},t; main() {

int k,j,m;

/***********SPACE***********/ for(k=0;k<【?】;k++) {

printf(\scanf(\}

m=N-1; while(m>0) {

for(k=j=0;j

/***********SPACE***********/ if(*tbl[j].vp<【?】) {

t=tbl[j];

tbl[j]=tbl[j+1]; tbl[j+1]=t; k=j; }

/***********SPACE***********/ 【?】; }

for(k=0;k

printf(\printf(\getch(); }

答案: 1). *vp 2). N

3). *tbl[j+1].vp 或 *tbl[ j + 1 ].vp 4). m=k

功能:用冒泡法对数组a 进行由小到大的排序。

void fun(int a[],int n) {

int i,j,t;

/***********SPACE***********/ for (j=0; 【?】;j++)

/***********SPACE***********/ for (i=0; 【?】;i++)

/***********SPACE***********/ if(【?】) {

t=a[i]; a[i]=a[i+1]; a[i+1]=t; } }

main() {

int i,a[10]={3,7,5,1,2,8,6,4,10,9}; /***********SPACE***********/ 【?】;

for(i=0;i<10;i++) printf(\}

答案:1). j<=n-1 或 n-1>=j 或 j<=-1+n 或 -1+n>=j 或 jj 或 j

2). ii 或 ii 或 i<=n-j-2 或 i<=n-2-j

3). a[i]>a[ i + 1 ] 或 a[ i + 1 ]

功能:输出两个整数中大的那个数,两个整数由键盘输入。 #include \void main() {

int a,b,*p1,*p2;

/***********SPACE***********/ p1=【?】malloc(sizeof(int)); p2=(int*)malloc(sizeof(int));

/***********SPACE***********/ scanf(\【?】,p2); if(*p2>*p1) *p1=*p2; free(p2);

/***********SPACE***********/ printf(\【?】); }

答案:1). (int *);2). p1;3). *p1

功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。 #include #include

/***********SPACE***********/ int fun(【?】 ) {

int m=0, mc=0, j, n;

/***********SPACE***********/ while (k >= 2 && 【?】) {

/***********SPACE***********/ if (k == 0 || 【?】) {

m=m+k; mc++; } k--; }

/***********SPACE***********/ 【?】; }

main ( )

{

clrscr( );

printf(\}

答案:1). int k;2). mc < 10 或 10 > mc 或 mc <= 9 或 9 >= mc

3). k == 0 或 !(k) 或 k/17*17 == k;4). return m 或 return (m)

功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? main() {

long int i; int

bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf(\

bonus1=100000*0.1;bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1;

/***********SPACE***********/ else if(【?】)

bonus=bonus1+(i-100000)*0.075; /***********SPACE***********/ else if(【?】)

bonus=bonus2+(i-200000)*0.05; /***********SPACE***********/ else if(【?】)

bonus=bonus4+(i-400000)*0.03; else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01; /***********SPACE***********/ 【?】(\}

答案:1). i<=200000 或 200000>=i 2). i<=600000 或 600000>=i 3). i<=1000000 或 1000000>=i 4). printf

功能:seek()函数:判断是否有不合格成绩;形参:1个,指向由3个int型元素组成的1维数组的行指针变量返回值:(1)有不合格成绩,则返回指向本行首列的一个(列)指针; (2)没有有不合格成绩,返回值为指向下一行的一个(列)指针

int *seek( int (*pnt_row)[3] ) {

int i=0, *pnt_col;

/***********SPACE***********/ 【?】=*(pnt_row+1); for(; i<3; i++)

if(*(*pnt_row+i)<60) {

pnt_col=*pnt_row;

break; /*退出循环*/ }

/***********SPACE***********/

return(【?】); }

main() {

static int

grade[3][3]={{55,65,75},{65,75,85},{75,80,90}}; int i,j,*pointer; for(i=0; i<3; i++) {

/***********SPACE***********/ pointer=seek(【?】); if(pointer==*(grade+i)) {

printf(\for(j=0; j<3; j++)

/***********SPACE***********/ printf(\【?】));

printf(\} } }

答案:1). pnt_col;2). pnt_col 3). grade+i 或 i+grade 4). pointer+j 或 j+pointer

功能:1982年我国第三次人口普查,结果全国人口为10.3亿,假如人口增长率为5%。编写一个程序求在公元多少年总人口翻了一番。

#include void main() {

double p1=10.3,p2,r=0.05; int n=1;

/***********SPACE***********/

p2=p1*【?】;

/***********SPACE***********/ while(p2<=【?】) { n++;

/***********SPACE***********/ p2=p2*【?】; }

/***********SPACE***********/ n=【?】;

printf(\年人口总数翻了一番,即为%g亿人\\n\}

答案:1). (1+r) 或 (r+1) 2). 2*p1 或 p1*2 3). (1+r) 或 (r+1)

4). n+1982 或 1982+n

功能:功能:定义一个结构变量(包括年、月、日)计算给定日期是该年的第几天。 main() {

/***********SPACE***********/ 【?】 date {

int y,m,d; }da;

int

f,n,p,a[12]={31,28,31,30,31,30,31,31,30,31,30,31};

printf(\

scanf(\/***********SPACE***********/ f=da.y%4==0&&da.y0【?】0||da.y@0==0;

/***********SPACE***********/ if(da.m<1【?】da.d>12) exit(0); a[11]+=f;

if(da.d<1||da.d>a[da.m-1]) exit(0); /***********SPACE***********/ for(n=【?】,p=1;p

答案:1). Struct;2). !=;3). ||;4). da.d 功能:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。

#include #include #include

void fun (char *s, char *t) {

int i, sl;

/***********SPACE***********/ sl = 【?】; for(i=0; i

for (i=0; i

/***********SPACE***********/

t[sl+i] = 【?】;

/***********SPACE***********/ t[sl+i]=【?】; }

main() {

char s[100], t[100]; clrscr();

/***********SPACE***********/ printf(\【?】(\fun(s, t);

printf(\

}

答案: 1). strlen(s)

2). s[sl-i-1] 或 s[ sl -i -1 ] 3). '\\0' 或 0 4). scanf

功能:编写程序,输出 1000 以内的所有完数及其因子。说明:所谓完数是指一个整数的值等于它的因子之和。例如“ 6 的因子是 1 、 2 、 3 ,而 6=1+2+3 ,故 6 是一个完数。

#include main() {

int i,j,m,s,k,a[100] ; for(i=1 ; i<=1000 ; i++ ) {

m=i ; s=0 ; k=0 ; for(j=1 ; j

/***********SPACE***********/ if(【?】) {

s=s+j ;

/***********SPACE***********/ 【?】=j ; }

if(s!=0&&s==m) {

/***********SPACE***********/ for(j=0 ; 【?】 ; j++) printf(\printf(\} } }

答案:1). m%j == 0;2). a[k++] 3). jj

功能:删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。 #include \main() {

char str[80],ch; int i,k=0;

/***********SPACE***********/ gets(【?】); ch=getchar();

/***********SPACE***********/ for(i=0;【?】;i++) if(str[i]!=ch) {

/***********SPACE***********/ 【?】; k++; }

/***********SPACE***********/

【?】; puts(str); }

答案:1). str

2). str[i]!='\\0' 或 str[i]!=NULL 或 str[i]!=0 或 str[i]

3). str[k]=str[i] 或 *(str+k)=*(str+i) 或 str[k]=*(str+i) 或 *(str+k)=str[i] 4). str[k]='\\0' 或 *(str+k)='\\0' 或

str[k]=NULL 或 str[k]=0 或 *(str+k)=0 或 *(str+k)=NULL

功能:考查字符串数组的应用。输出26个英文字母。

#include void main (void) {

char string[256]; int i;

/***********SPACE***********/ for (i = 0; i < 26; 【?】)

/***********SPACE***********/ string[i] = 【?】; string[i] = '\\0';

/***********SPACE***********/

printf (\【?】); }

答案:

1). i++ 或 ++i 或 i=i+1 或 i+=1 2). 'A' + i 或 i+'A' 或 65 + i 或 i+65 3). string 功能:将长整型数中每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在


C语言程序填空(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国铁路总公司节能减排项目推广管理办法(铁总计统[2015]364号

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: