二、填空題
1.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其它元素不變。請?zhí)羁铡?/P>
#include
#include
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
if( a[j]>a[i] )
{ t=a[i]; a[i]=a[j]; a[j]=t; }
puts(a);
printf("\n");
}
2.若有定義語句:char s[100],d[100]; int j=0, i=0;,且s中已賦字符串,請?zhí)羁找詫?shí)現(xiàn)字符串拷貝。(注:不得使用逗號表達(dá)式)
while(s[i]){ d[j]= s[i++] ;j++;}
d[j]=0;
3.下列程序段的輸出結(jié)果是 Hello 。
main( )
{ char b[]="Hello,you";
b[5]=0;
printf("%s\n",
B);
}
4.若想通過以下輸入語句使a中存放字符串1234,b中存放字符5,則輸入數(shù)據(jù)的形式應(yīng)該是 a=1234b=5 。
char a[10], b;
scanf(“a=%s b=%c”, a, &
B);
5.以下程序可以把從鍵盤上輸入的十進(jìn)制數(shù)(long型)以二到十六進(jìn)制數(shù)的形式輸出,請?zhí)羁铡?/P>
main( )
{int b[16]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’, ‘A’, ‘B’, ‘C’,‘D’, ‘E’, ‘F’};
int c[64], d, i=0, base;
long n;
printf(“Enter a number:\n”); scanf(“%ld”,&n);
printf(“Enter new base:\n”); scanf(“%d”,&base);
do
{c[i]= n%base ;
i++;
n=n/base; 來源:考試大
}while(n!=0);
printf(“Transmite new base:\n”);
for(--i;i>=0;--i)
{d=c[i];
printf("%c", [ d] );
}
}
6.以下程序用來對從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中的第一個(gè)不相同字符的ASCII碼之差。例如:輸入的兩個(gè)字符串分別為abcdefg和abceef,則輸出為-1。請?zhí)羁铡?/P>
main( )
{char str1[100], str2[100], c;
int i, s;
printf(“\n Input string 1:\n”); gets(str1);
printf(“\n Input string 2:\n”); gets(str2);
i=0;
while((str1[i]= =str2[i])&&(str1[i]!= ' \0 ' ))
i++;
s= str1[i]-str2[i] ;
printf("%d\n", s);
}
7.以下語句的輸出結(jié)果是 2 。
printf(“%d\n”,strlen(“\t\”\085\xff\n”));
8.對數(shù)組中的元素值進(jìn)行排序:
main( )
{int a[]={2,4,15,3,17,5,8,23,9,7,11,13}, i, j, k;
for(k=0;k<12;k++)
for(i=k;i<12;i++)
if(a[i]> a[k] )
{j=a[i];
a[i]= a[k] ;
a[k] =j;
}
for(i=0;i<12;i++)
printf(“%4d”, a[i]);
}
9.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時(shí)針依次編號,然后從1號開始順時(shí)針報(bào)數(shù)(1、2、3、……),凡報(bào)5的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號。
#include
Void main( )
{int a[26], j, n, count;
for(j=1;j<=25;j++) a[j]=j;
j=1;count=0;n= 0 ;
do
{if(a[j]!=0) 考試大(www.Examda。com)
{n++;
if(n%5= =0)
{ a[j]=0 ;
if(count= =24) printf(“%d\n”, j);
count++;
}
}
j++;
if(j>25) j=1;
}
while( count<25 );
}
10.閱讀下列程序:
main( )
{int i, j, row, column, m;
int array[3][3]={{100, 200, 300}, {28, 72, -30}, {-850, 2, 6}};
m=array[0][0];
for(i=0; i<3; i++)
for(j=0; j<3; j++)
if(array[i][j]
{m=array[i][j]; row=i; column=j;}
printf("%d, %d, %d\n", m, row,column);
}
上述程序的輸出結(jié)果是 -850,2,0 。
11.以下程序的功能是:從鍵盤上輸入若干個(gè)學(xué)生的成績,計(jì)算出平均成績,并輸出低于平均分的學(xué)生成績,用輸入負(fù)數(shù)結(jié)束輸入。請?zhí)羁铡?/P>
main( )
{float x[1000], sum=0.0, ave, a;
int i, n=0;
printf(“Enter mark:\n”); scanf(“%f”, &a);
while(a>=0.0&&n<1000)
{sum+= a ; x[n]= a ; n++; scanf(“%f”, &a);}
ave= sum/n ;
printf(“Output:\n”);
printf(“ave=%f\n”, ave);
for(i=0;i
if( ave>a[i] ) printf(“%f\n”, x[i]);
}
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |