填空题给定程序MODI1.C中函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0~(m-1)的值。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
文件MODI1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
typedef struet aa{
int data;
struct aa *next;
}NODE;
NODE *Creatlink(int m){
NODE *h=NULL,*p,*s;
int i;
/**********found**********/
P=(NODE)malloc(sizeof(NODE));
h=p;
p->next=NULL;
for(i=0;i<m;i++){
s=(NODE *)malloc(sizeof(NODE));
s->data=i:
s->next=p->next;
p->next=s;
p=p->next;
}
/**********found**********/
return p;
}
void outlink(NODE *h){
NODE *p;
p=h->next;
printf("/n/nTHE LIST: /n/n HEAD");
while(p){
printf("->%d",p->data);
p=p->next;
}
printf("/n");
}
void main(){
NODE *head;
head=Creatlink(8);
outlink(head);
}
填空题以下程序运行后的输出结果是 [13] 。 main() char c1,c2; for(c1='0',c2='9';c1<c2;c1++,c2--) printf("%c%c",c1,c2); printf("/n");
填空题请补充函数fun(),该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str中。例如:当n=13572468时,str=-“86427531”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #include <conio.h> #define N 80 char str[N]; void fun(long int n) int i=0; while( 【1】 ) str[i]= 【2】 ; n/=10; i++; 【3】 ; main() long int n=13572468; clrscr(); printf("*** the origial data ***/n"); printf("n=%ld",n); fun(n); printf("/n%s",str);
填空题以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。 #include<stdio.h> main() int a[4][4]=1,2,6,7,0,4,2,-8,1,4,5,2,2,4,6,8; int b[4][4]=-4,0,7,9,2,-7,7,4),6,9,0,1),8,8,6,5); int i,j,c[4][4]; for(i=0;i<4;i++) for(j=0;j<4;j++) c[i][j]=______; for(i=0;i<4;i++) for(j=0;j<4;j++) printf("%d",c[i][j]);
填空题请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。
{{U}} 【16】 {{/U}} ( double,double);
main( )
{ double x,y;
scanf("%lf%lf",
printf("%lf/n",max(x,y));
}
double max(double a,double b)
{ return(a>b ? a:b); }
填空题下列程序的运行结果是______。
main()
{ int i,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{ if(i%2==0) printf("/n");
printf("%d",a[i]);
}
}
填空题若有如下程序: void sub() static int x=6; x/=2;printf("%d",x); main() int m; for(m=0;m<=2;m++) sub(); 则程序运行后的输出结果是 【17】 。
填空题设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为{{U}} 【7】 {{/U}}。
填空题下列程序中,fun()函数的功能是计算x2-2x+6,主函数中将调用fun()函数计算。 y1=(x+8)2=2(x+8)+6 y2=sin2(x)-2sin(x)+6 请填空: #include<math.h> double fun(double x)return(x*x-2*x+6); main() double x, y1, y2; printf("enter x: "); scanf("%1f", &x); y1=fun(______); y2=fun(______); printf("y1=%1f, y2=%1f/n", y1, y2);
填空题有下列程序:
#include<stdio.h>
main()
{ int f,f1,f2,i;
f1=0;f2=1;
printf("%d%d",f1,f2) ;
for(i:3;i<=5;i++)
{ f=f1+f2;printf("%d",f);
f1=f2;f2=f;
}
printf("/n");
}
程序运行后的输出结果是______。
填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#define N 5
typedef struct student {
long sno;
char name[10];
float score[3];
}STU;
void fun(char *filename,STU n)
{FILE*fp;
/*********found*********/
fp=fopen(______,"rb+");
/*********found*********/
fseek(______, -(long)sizeof
(STU),SEEK_END);
/*********found*********/
fwrite(
fclose(fp);
}
main()
{STU t[N]={{10001,"MaChao",
91,92,77},{10002,"CaoKai",
75,60,88},
{10003,"LiSi",85,
70,78},{10004,"FangFang",90,
82,87},
{10005,"ZhangSan",95,80,88}};
STU n={10006,"ZhaoSi",55,70,68},ss[N];
int i,j; FILE*fp;
fp=fopen("student.dat","wb");
fwrite(t,sizeof(STU),N,fp);
fclose(fp);
fp=fopen("student.dat", "rb");
fread(ss,sizeof(STU), N, fp);
fclose(fp);
printf("/nThe original data:/n/n");
for(j=0; j<N; j++)
{printf{"/nNo: %ld Name: %-8s
Scores:",ss[j].sno,ss[j].name);
for(i=0; i<3; i++)
printf("%6.2f",ss[j].score[i]);
printf("/n");
}
fun("student.dat",n);
printf("/nThe data after modifing:/n/n");
fp=fopen("student.dat", "rb");
fread(ss,sizeof(STU),N,fp);
Fclose(fp);
for(j=0; j<N; j++)
{printf("/nNo: % ld Name: %-8s
Scores:",ss[j].sno,ss[j].name);
for(i=0; i<3; i++)
printf("%6.2f", ss[j].score[i]);
printf("/n");
}
}
填空题若有如下程序:
main()
{int a[][2]={1,2,6,9,11},(*t)[2];
t=a;
printf("%d,%d/n",*(t[1]+1), (*t) [1]);
}
则程序运行后输出的结果是{{U}} 【20】 {{/U}}。
填空题有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请把程序补充完整。
#include<stdio.h>
int main()
{
int day, x1, x2;
day=0;
x1=1020;
while(______)
{
x2=______; x1=x2; day++;
}
printf("day=%d/n", day);
return 0;
}
填空题以下程序用于判断a、b、c能否构成三角形,若能则输出YES,否则输出NO。当给a、b、c输入三角形的三条边长时,确定a、b、c能构成三角形的条件是需同时满足3个条件:a+b>c,a+c>b,b+c>a。请填空。
main()
{float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(______) printf("YES/n");/*a、b、c能构成三角形*/
else printf("NO/n"); /*abc不能构成三角形*/
}
填空题函数fun的功能是使一个字符串按逆序存放。请填空。
void fun(char str[])
{ char m;int i,j;
for(i=0,j=strlen(str);i<{{U}} 【15】 {{/U}};i++,j--)
{ m=str[i];
str[i]={{U}} 【16】 {{/U}};
str[j-1]=m;
}
printf("%s/n",str);
}
填空题给定程序中,函数fun的功能是:计算下式前n项的和,并作为函数值返回。例如,当形参n的值为10时,函数返回-0.204491。请在程序的下划线处填入正确的内容,使程序得出正确的结果。注意:源程序给出如下。不得增行或删行,也不得更改程序的结构!试题程序:#include<stdio.h>doublefun(intn){inti,k;doubles,ts=0;/********found********/k=________;for(i=1;i<=n;i++){/********found********/t=________;s=s+k*(2*i-1)(2*i+1)/(t*t);/********found********/k=k*________;}returns;}main(){intn=-1;while(n<0){printf("Pleaseinput(n>0):");scanf("%d",&n);}printf("/nTheresultis:%f/n",fun(n));}
填空题下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
/* * * * * * * * * * found* * * * * * * * * * /
void fun(long s, long t)
{ longsl=10;
*t=s% 10;
while(s>0)
{s = s/100;
*t = s%10 * sl + *t;
/* * * * * * * * * * found* * * * * * * * * * /
sl=sl*100;
}
}
main( )
{ long s, t;
printf(" /nPlease enter s:"); scanf("%ld",
fun(s,
printf("The result is: %ld/n", t);
}
填空题有以下程序: main() int a=1,b=3,c=5; int *pl= *P=*pl*(*p2); printf("%d/n",c); 执行后的输出结果是 [13] 。
填空题以下程序运行后的输出结果是_________。
#define S(x) 4*x*x+1
main()
{ int i=6,j=8;
printf("%d/n",S(i+j));
}
填空题下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例如,给字符串s输入:AAaaBBbb123CCcccd,则应输出:
upper=6,lower=8。请改正程序中的错误,使它得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
/**********found**********/
void fun(char *s,int a,int b)
{
while(*s)
{if(*s>="A"
if(*s>="a"
S++;
}
}
main()
{char s[100]; int upper=0,lower=0;
printf("/nPlease a string:");gets(s)
fun (s,
printf("/n upper=%d lower=%d/n",upper,lower);
}
