填空题以下程序的输出结果是______。 #define PR(ar)printf("ar=%d”,ar) main() int j,a[]=1,8,3,7,6,13,17,15,*p=a+5; for(j=3;j;j--) switch(j) case 1: case 2:PR(*p++);break; case 3:PR(*(--p));
填空题下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 #include<stdio.h> #include<string.h> main() char a[]="clanguage",t; int i,j,k; k=strlen(a); for(i=0;i<=k-2;i+=2) for(j=i+2;j<=k;j+=2;) if( 【20】 ) t=a[i];a[i]=a[j];a[j]=t; puts(a); printf("/n");
填空题请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。 例如:当str[N]“123 abcdef ABCDEF!”,结果输出: “123ABCDEFABCDEF!”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include<stdio.h> #include<stdlib.h> #include<conio.h> #define N 80 void main() int j; char str[N]="123abcdef ABCDEF!"; char *pf=str; clrscr(); printf("*** original string ***/n"); puts(str); 【1】 ; while(*(pf+j)). if(*(pf+j)>='a'&&* (pf+j)<='z') *(pf+j)= 【2】 ; j++; else 【3】 ; printf("****** new string ******/n"); puts(str); system("pause");
填空题下面程序的功能是求整数m、n的最大公约数,请填空。
main()
{int m,n,r;
scanf("%d,%d",m,n);
if({{U}} 【17】 {{/U}}) {r=m;m=n;n=r; }
while({{U}} 【18】 {{/U}})
{r=m%n;m=n;n=r; }
printf("%d",m);
}
填空题有以下程序 #include<stdio.h> main() char c1,c2; scanf("%c",*c1); while(c1<65||c1>90) scanf("%c", c2=c1+32; printf("%c,%c//n",c1,c2); 程序运行输入6回车后,自否输出结果、结束运行(请回答能或不能){{U}} {{/U}}。
填空题以下程序的输出结果是______。 #include<stdio.h> void 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); f2=f1;f1=f; printf("/n");
填空题下面程序由两个源程序文件:t4.h和t4.c组成,程序编译运行的结果是: 【18】 。t4.h 的源程序为: #define N 10 #denne f2(x) (x*N)t4.c 的源程序为: #include <stdio. h> #define M 8 #define f(x) ((x)*M) #include "t4.h" #main() int i, j; i=f(1+1); j=f2(1+1); printf(%d%d/n",i, j);
填空题feof(fp)函数用来判断文件是否结束,如果遇到文件结束,则函数值为______,否则为______。
填空题下列程序输出结果是______。 #include<stdio.h> main() intj,a[]=1,3,5,7,9,11,13,15,*p=a+5; for(j=3;j>=1;j--) switch(j) case1: case2:printf("%d",*p++);break; case2:printf("%d",*(--p));
填空题以下程序的运行结果是______。 main() int a=2,b=7,c=5; switch(a>0) case 1:switch(b<0) case 1:switch("@");break; case 2:printf("!");break; case 0:switch(c==5) case 0:printf("*");break; case 1:printf("#");break; case 2:printf("$");break; default:printf("&"); printf("/n");
填空题给定程序中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
#include<stdio.h>
#include<stdlib.h>
#define N 8
typedef struct list
{int data;
struct list*next;
)SLIST;
void fun(SLIST*h,intx)
{SLIST*p,*q,*s;
s=(SLIST*)malloc(sizeof(SLIST));
/**********found**********/
s->data=______;
q=h;
p=h->next;
while(p!=NULL
p=p->next;
}
s->next=p;
/**********found**********/
q->next=______;
}
SLIST*creatlist(int*a)
{SLIST*h,*p,*q;int i;
h=p=(SLIST*)malloc(sizeof(SLIST));
for(i=0;i<N;i++)
{q=(SLIST*)malloc(sizeof(SLIST));
q->data=a[i];p->next=q;p=q;
}
P->next=0:
return h;
}
void outlist(SLIST*h)
{SLIST*p;
p=h->next;
if(p==NULL)printf("/nThe list is NULL!/n");
else
{printf("/nHead");
do{printf("->%d",p->data);p=p->next;}
while(p!=NULL);
printf("->End/n");
}
}
main()
{SLIST*head;int x;
int a[N]={11,12,15,18,19,22,25,29};
head=creatlist(a);
printf("/nThe list before inserting:/n");outlist(head);
printf("/nEnter a number:");scanf("%d",
fun(head,x);
printf("/nThe list after inserting:/n");outlist(head);
}
填空题下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。 例如,若a所指数组中的数据为:1, 2, 3, 4, 5, 6, 7, 8, 9, 则调换后为:6, 7, 8, 9, 5, 1, 2, 3, 4。 请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: #include <stdio.h> #define N 9 void fun(int a[], int n) int i, t, P; P=(n%2==0)? n/2:n/2+______; for(i=0; i<n/2; i++) t=a[i]; a[i]=a[P+______; ______=t; main() int b[N]=1, 2, 3, 4, 5, 6, 7, 8, 9, i; printf("/nThe original data: /n"); for(i=0; i<N; i ++) printf("% 4d", b[i]); printf("/n"); fun(b, N); printf("/nThe data after moving: /n"); for(i=0; i<N; i ++) printf("% 4d", b[i]); printf("/n");
填空题若有以下程序
main( )
{ char a;
a=''H''-''A''+''0'';
printf("%c/n",a);
}
执行后输出结果是【 】。
填空题下面程序将二维数a的行和列元素互换后存放另一个二维数组b中。请填空。
main()
{ int a [2][3]={{1,2,3},{4,5,6}};
int b[3][2], i,j;
printf("array a"/n");
for(i=0;i<=1;i++)
{for(j=0;{{U}} 【17】 {{/U}};j++)
{ printf("%5d",a[i][j]);
{{U}}【18】 {{/U}};}
printf("/n");}
printf("array b:/n");
for(i=0;{{U}} 【19】 {{/U}};i++)
{ for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("/n");}}
填空题下列给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高位到低位的顺序组成一个新数,并通过形参指针n传回所指变量。
例如,若输入一个数27638496,则新数为739。
请在下划线处填入正确的内容,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
void fun(unsigned long*n)
{unsigned long x=0,i;int t;
i=1;
while(*n)
/********found********/
{t=*n%______;
/********found********/
if(t%2!______)
{x=x+t*i;i=i*10;}
*n=*n/10;
}
/********found********/
*n=______;
}
main()
{unsigned long n=-1;
while(n>99999999||n<0)
{printf("Please input(0<n<100000000):");
scanf("%ld",&n);}
fun(&n);
printf("/nThe result is:%ld/n",n);
}
填空题下列给定程序中,函数fun()的功能是:从字符串s中,删除所有大写字母'F'。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include <stdio.h>
void fun(char *s)
{
int i, j;
/*************found**************/
for(i=j=0; s[i]!= '0';i++)
if(s[i] != 'F')
/*************found**************/
s[j]=s[i];
s[j]='/0';
}
main ( )
{
char s[80];
printf("/nEnter a string: ");
gets(s);
printf("The original string: ");
puts(s);
fun(s);
printf("The string after deleted: ");
puts(s);
printf("/n/n ");
}
填空题请补充函数proc(),该函数的功能是把数组num中的数按从小到大的顺序排列(数组元素个数及值从主函数中输入)。
例如,输入n=5,num[0]~num[4]依次为5 7 2 8 0,结果为0 2 5 7 8。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 100
void proc(int num[], int n)
{
int i, j, t;
for(i=0; ______; i++)
for(j=0; ______; j++)
if(num[j]>num[j+1])
{
t=num[j];
num[j]=num[j+1];
num[j+1]=t;
}
}
void main()
{
int i=0, n=0;
int num[M];
system("CLS");
printf("/nInput n: /n");
scanf("%d",
printf("/nlnput data: /n");
while(i<n)
{
printf("num[%d]=", i);
scanf("%d",
i++;
}
proc(num, n);
printf("/n***the result***/n");
for(i=0; i<n; i++)
printf("%4d", num[i]);
}
填空题以下函数用来在w数组中插入x。n所指向的存储单元中存放w数组中字符个数。数组w中的字符已按从小到大的顺序排列,插入后数组w中的字符仍有序。请填空。
void fun(char*w,char x,int*n)
{ int i, p;
p=0;
w[*n]=x;
while(x>w[p])p++;
for(i=*n;i>p;i--)w[i]=
________
;
w[p]=x;
++ *n;}
填空题有以下程序:
int f(int n)
{if(n==1)return 1;
else return f(n-1)+1;}
main()
{ int i,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d/n",j);
}
程序运行后的输出结果是{{U}} 【11】 {{/U}}。
填空题如果用0至9之间不同的三个数构成一个三位数,且各位数字之和是5,下面程序将输出这些数,并统计出共有多少种方法,请把程序补充完整。
#include<stdio.h>
int main()
{
int i, j, k, count=0;
for(i=1; i<=9; i++)
for(j=0; j<=9; j++)
if(______) continue;
else
for(k=0; k<=9; k++)
if(______)
{
printf("%4d", i*100+j*10+k);
count++;
}
printf("n%d", count);
return 0;
}