當前位置:首頁 » 招生排名 » 中國石油大學華東c語言上機題答案2013

中國石油大學華東c語言上機題答案2013

發布時間: 2023-10-13 10:30:38

❶ c語言選擇題,求解釋

這題沒有正確答案,輸出應該是12
p+20指向了str[1], 也就是"中國石油大學"這個字元串,根據定義看,這是個GBK編碼的漢字字元串,而strlen是按位元組算長度的,一個漢字兩個位元組所以"中國石油大學" 長度是12
還有,定義里的 char*p =str,雖然按照C語言規則是可行的,但嚴格來說還是應該寫成char*p=(char*)str

❷ 9月計算機二級《C語言》上機試題及答案

(1)一個棧的初始狀態為空。現將元素1、2、3、4、5、A、B、c、D、E依次入棧,然後再依次出棧,則元素出棱的順序是( )。

A.12345ABCDE

B.EDCBA54321

C.ABCDEl2345

D.54321EDCBA

(2)下列敘述中正確的是( )。

A.循環隊列有隊頭和隊尾兩個指針,因此,循環隊列是非線性結構

B.在循環隊列中,只需要隊頭指針就能反映隊列中元素的動態變化情況

C.在循環隊列中,只需要隊尾指針就能反映隊列中元素的動態變化情況

D.循環隊列中元素的個數是由隊頭指針和隊尾指針共同決定的

(3)在長度為n的有序線性表中進行二分查找,最壞情況下需要比較的次數是( )。

A.0(n)

B.D(n2)

C.O(1092n)

D.0(nl092n)

(4)下列敘述中正確的是( )。

A.順序存儲結構的存儲一定是連續的,鏈式存儲結構的存儲空間不一定是連續的

B.順序存儲結構只針對線性結構,鏈式存儲結構只針對非線性結構

C.順序存儲結構能存儲有序表,鏈式存儲結構不能存儲有序表

D.鏈式存儲結構比順序存儲結構節省存儲空間

(5)數據流圖中帶有箭頭的線段表示的是( )。

A.控制流

B.事件驅動

C.模塊調用

D.數據流

(6)在軟體開發中,需求分析階段可以使用的工具是( )。

A.N—s圖

B.DFD圖

C.PAD圖

D.程序流程圖

(7)在面向對象方法中,不屬於“對象”基本特點的是( )。

A.一致性

B.分類性

C.多態性

D.標識唯一性

(8)一間宿舍可住多個學生,則實體宿舍和學生之間的聯系是( )。

A.一對一

B.一對多

C.多對一

D.多對多

(9)在數據管理技術發展的三個階段中,數據共享最好的是( )。

A.人工管理階段

B.文件系統階段

C.資料庫系統階段

D.三個階段相同

(10)有三個關系R、S和T如下:

由關系R和S通過運算得到關系T,則所使用的運算為( )。

A.笛卡爾積

B.交

C.並

D.自然連接

(11)下列敘述中錯誤的是( )。

A.C程序可以由多個程序文件組成

B.一個c語言程序只能實現一種演算法

C.c程序可以由一個或多個函數組成,

D.一個C函數可以單獨作為一個C程序文件存在(12)以下選項中,能用作數據常量的是( )。

A.115L

B.0118

C.1.5el.5

D.0115

(13)按照c語言規定的用戶標識符命名規則,不能出現在標識符中的是( )。

A.大寫字母

B.下劃線

C.數字字元

D.連接符

(14)設變數已正確定義並賦值,以下正確的表達式是( )。

A.X=Y+z+5,++Y

B.int(15.8%5)

C.X=Y*5=X+Z

D.X=25%5.0

(15)設有定義:int X=2;,以下表達式中,值不為6的是( )。

A.2*x.x+=2

B.x++,2*x

C.x*=(1+x)

D.x*!x+1

(16)有以下程序:

程序運行後的輸出結果是( )。

A.2,3,3

B.2,3,2

C.2,3,1

D.2,2,1

(17)有以下程序:

已知字母A的ASCIl碼為65,程序運行後的輸出結果是( )。

A)E.68B.

B)D,69

C.E,D

D.輸出無定值

(18)若有定義int x,y;並已正確給變數賦值,則以下選項中與表達式(x—y)?(x++):(y++)中的條件表達式(x—Y)等價的是( )。

A.(x—Y<01Ix—Y>O)

B.(x—y<0)

C.(x—Y>0)

D.(x—Y==0)

(19)有以下程序:

程序運行後的輸出結果是( )。

A.3

B.2

C.1

D.0

(20)若有定義:float x=1.5;int a=1,b=3,c=2;則正確的switch語句是( )。

❸ c語言課後題答案

第一題
#include<stdio.h>
void main()
{ int i;
int count=1;
printf("請輸入數據:");
scanf("%d",&i);
printf("逆序輸出結果為:");
while(i/10)
{printf("%d ",i%10);
count++;
i=i/10; }
printf("%d\n",i%10);
printf("它是%d位數\n",count);
}
第二題
#include<stdio.h>
int fact(int n)
{
int i;
int f=1;
for(i=1;i<=n;i++)
f*=i;
return f;
}
float sum(int n)
{
float sum1=0;
int i;
for(i=1;i<=n;i++)
sum1+=1.0/fact(i);
return sum1;
}
void main()
{ int i;
float total;
printf("請輸入數據:");
scanf("%d",&i);
total=sum(i);
printf("結果為:");
printf("%.5f ",total);
}
上面兩個程序已經上機通過了。。。

❹ c語言教程習題答案

第一章
1.1 EXE
1.2 C OBJ EXE
1.3 順序 選擇 循環

第二章
一. 選擇題
2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B
2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A
二. 填空題
2.14 11 12
2.15 4.2 4.2
2.16 { } 定義 執行語句
2.17 關鍵字 用戶標識符
2.18 int float double
2.19 float a1=1; float a2=1;
2.20 存儲單元
2.21 3.5
2.22 (a*b)/c a*b/c a/c*b
2.23 把常量10賦給變數s
2.24 位 1或0
2.25 8 127 0111111 -128 10000000
2.26 32767 -32768 1000000000000000
2.27 10 8 16
三. 上機改錯題
2.28
#include "stdio.h"; 刪除行尾的";"
main(); / * main function * / 刪除")"後的";",注釋中的*要緊靠「/」,即應為「/*」和「*/」
函數開始處遺失了一個「{」
float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注釋符號不可嵌套使用
r = 5.0 ;
s = 3.14159 * r * r ;
printf("%f\n",s) 行尾遺失了「;」
函數結束處遺失了一個「}」

2.29
#include "stdio.h"
main /* main function */ main後遺失了「()」
{
float a,b,c,v; /*a,b,c are sides, v is volume of cube */
a=2.0; b=3.0; c=4.0 行尾遺失了「;」
v=a*b*c;
printf("%f\n", v) 行尾遺失了「;」
}

第三章
一. 選擇題
3.1 C 3.2 C 3.3 D 3.4 C 3.5 D 3.6 B 3.7 C 3.8 D 3.9 A 3.10 B
3.11 C 3.12 D 3.13 D 3.14 A 3.15 C 3.16 C 3.17 C 3.18 無答案 3.19 C 3.20 B

二. 填空題
3.21 (1)-2002500(2)i=-200,j=2500
(3)i=-200
j=2500
3.22 12 0 0
3.23 一條語句 ;
3.24 ;
3.25 100,25.81,1.89234 100 25.81 1.89234 100 25.81 1.89234
3.26 x=127,x= 127,x= 177,x= 7f,x= 127
3.27 x=127,x=127 ,x=$127 ,x=$000127,x=d
3.28 a=513.789215,a= 513.79,a= 513.78921500,a= 513.78921500

三. 編程題和改錯題
3.29 修改後的程序如下:
main()
{
double a,b,c,s,v;
printf("input a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
s =a*b;
v=a*b*c;
printf("a=%f,b=%f,c=%f\n", a,b,c);
printf("s=%f,v=%f\n",s,v);
}
3.30
#include
main()
{
int a=560,b=60;
printf("560 minute is %d hour and %d minute.\n",a/b,a%b);
}
3.31
#include
main()
{
int a,b;
a=1500;b=350;
printf("a div b is : %d\n",a/b);
printf("a mod b is : %d\n",a%b);
}
3.32
#include
main()
{
double a,b,c,ave;
printf ("input 3 double number : \n");
scanf ("%lf%lf%lf",&a,&b,&c);
printf ("%.1f\n",(a b c)/3);
}
3.33
#include
void main()
{
int a,b,c,t;
printf("請依次輸入整數a,b,c:");
scanf("%d%d%d",&a,&b,&c);
printf("\n你輸入的值是: a=%d,b=%d,c=%d\n",a,b,c);
t=b;b=a;a=c;c=t;
printf("交換之後的值是:a=%d,b=%d,c=%d\n",a,b,c);
}

第四章
一. 選擇題
4.1 A 4.2 A 4.3 A 4.4 D 4.5 C 4.6 A 4.7 B 4.8 C 4.9 D 4.10 C
二. 填空題
4.11 非0 0
4.12 < > >= <=同級 == !=同級
4.13 ! && ||
4.15 !
4.16 a == b || a < c x > 4 || x < -4
4.17 1
4.18 x <= 0 1 > 0
4.19 3 2 2
4.20 *#

三. 編程題
4.21 略
4.22
#include

/* 檢查日期的合法性 */
int checkdate(int year, int month, int day)
{
if(year < 1900 || year > 2005)
{
printf("輸入的年份無效!\n");
return 0;
}
else if(month < 0 && month > 12)
{
printf("輸入的月份無效!\n");
return 0;
}
else if(day <= 0 && day > 31)
{
printf("輸入的日期無效!\n");
return 0;
}
else
{
switch(month)
{
case 4:
case 6:
case 9:
case 11:
if(day > 30)
{
printf("輸入的日期無效!\n");
return 0;
}
break;
case 2:
if((year%4 == 0 && year0 != 0) || year@0 == 0)
{
if(day > 29)
{
printf("輸入的日期無效!\n");
return 0;
}
}
else
{
if(day > 28)
{
printf("輸入的出生日期無效!\n");
return 0;
}
}
break;
}/* end of switch(m0)*/
}
return 1;
}

void main()
{
int y0, m0, d0; /* 生日 */
int y1, m1, d1; /* 當前日期 */
int years, months, days; /* 實足年齡*/

printf("請輸入學生的生日:");
scanf("%d%d%d", &y0,&m0,&d0);

if(checkdate(y0, m0, d0))
{
printf("請輸入當前日期:");
scanf("%d%d%d", &y1,&m1,&d1);
/*當前日期合法性檢查*/
if(!checkdate(y1, m1, d1))
{
return;
}
else if(y0 > y1)
{
printf("出生年份比當前年份晚!\n");
return;
}
else if(y0 == y1)
{
if(m0 > m1)
{
printf("出生年月比當前年月晚!\n");
return;
}
else if(m0 == m1)
{
if(d0 > d1)
{
printf("出生年月日比當前年月日晚!\n");
return;
}
}
}
}

/* 計算實足年齡 */
years = y1 - y0;
months = m1 - m0;
days = d1 - d0;

/* 修正實足年齡天數*/
if(days < 0)
{
months--;
switch(m1)
{
case 1:
case 5:
case 7:
case 10:
case 12:
days = 30;
break;
case 2:
case 4:
case 6:
case 8:
case 9:
case 11:
days = 31;
break;
case 3:
if((y1%4 == 0 && y10 != 0) || y1@0 == 0)
{
days = 29;
}
else
{
days = 28;
}
break;
}/* end of switch(m1) */

}/* end of if(days < 0) */

/* 修正實足年齡月數*/
if(months < 0)
{
months = 12;
years--;
}/* end of if(months < 0) */

printf("出生日期: %d年%d月%d日\n", y0, m0, d0);
printf("當前日期: %d年%d月%d日\n", y1, m1, d1);
printf("實足年齡: %d年%d月%d日\n", years, months, days);

return;
}

4.23
#include

void main()
{
int a;
printf ("請輸入一個整數 :");
scanf ("%d",&a);
if (a%2==0)
{
printf ("%d 是偶數\n", a);
}
else
{
printf ("%d 是奇數\n", a);
}
}

4.24
#include

void main()
{
int a,b,c,temp,max;
printf ("請輸入三個整數 :");
scanf ("%d %d %d",&a,&b,&c);
temp=(a>b)? a:b;
max=(temp>c)? temp:c;
printf ("\n");
printf ("你輸入的數中最大的是 %d.\n",max);
}

4.25
(1)不嵌套的if語句
#include

void main()
{
int x,y;
printf("input x :");
scanf("%d",&x);
if ( x>-5 && x<0 )
{
printf("y is %d\n",y=x);
}
if ( x==0 )
{
printf("y is %d\n",y=x-1);
}
if ( x>0 && x<10 )
{
printf("y is %d\n",y=x 1);
}
if ( x>=10 || x<=-5)
{
printf("error\n");
}
}
(2)嵌套的if語句
#include

void main()
{
int x,y;
printf("input x :");
scanf("%d",&x);
printf("\n");
if(x < 0)
{
if(x > -5)
{
printf("y is %d.\n",y=x);
}
else
{
printf("error!\n");
}
}
if(0 == x)
{
printf("y is %d.\n",y=x-1);
}
if(x > 0)
{
if(x < 10)
{
printf("y is %d.\n",y=x 1);
}
else
{
printf("error!\n");
}
}
}
(3)if_else語句
#include

void main()
{
int x,y;
printf("input x :");
scanf("%d",&x);
if( x>-5 && x<0 )
{
printf("y is %d.\n",y=x);
}
else if( x==0 )
{
printf("y is %d.\n",y=x-1);
}
else if( x>0 && x<10 )
{
printf("y is %d.\n",y=x 1);
}
else
{
printf("error!\n");
}
}
(4)switch語句
#include

void main()
{
int x,y;
printf("input x : ");
scanf("%d",&x);
switch (x)
{
case -4:
case -3:
case -2:
case -1:
printf("y is %d.\n",y=x);
break;
case 0:
printf("y is %d.\n",y=x-1);
break;
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
printf("y is %d.\n",y=x 1);
break;
default:
printf("error!\n");
}
}

第五章

一. 選擇題
5.1 D 5.2 C 5.3 B 5.4 C 5.5 C 5.6 B 5.7 D 5.8 A 5.9 D 5.10 D

二. 填空題
5.11 5 4 6
5.12 死循環
5.13 -1
5.14 11
5.15 d=1.0 k k<=n
5.16 x>=0 x
三. 編程題
5.17
#include
void main()
{
int i;
int sig = 1;
int sum = 0;
for(i=1; i<=101; i ,i )
{
sum = sig*i;
sig *= -1;
}
printf("sum=%d\n", sum);
}

5.18
(1)
#include

void main()
{
int i;
double m=1.0;
double e = 1.0;
for(i=1; i<50; i )
{
m *= i;
e = 1/m;
}
printf("e=%f\n",e);
}
(2)
#include

void main()
{
int i=1;
double m=1.0;
double e = 1.0;
while(1/m >= 0.0004)
{
m *= i;
e = 1/m;
i ;
}
printf("e=%f\n",e);
}

5.19
#include

void main()
{
int year;
int col = 0;
for(year=1600; year<=2000; year )
{
if((year%4 == 0 && year0 != 0) || year@0 == 0)
{
printf("%d\t", year);
col ;
if(col%5 == 0)
{
printf("\n");
}
}
}
printf("\n");
}

5.20
#include
#define N 7

void main()
{
int i;
int j;
int m;
int k = N/2;
for(i=0; i {
m = i-k;
if(m < 0)
{
m *= -1;
}
for(j=0; j {
printf(" ");
}
for(j=0; j<2*(k-m) 1; j )
{
printf("*");
}
printf("\n");
}
}

第六章

一. 選擇題
6.1 B 6.2 D 6.3 A 6.4 A 6.5 B 6.6 D 6.7 D 6.8 B 6.9 A 6.10 A 6.11 C

二. 填空題
6.12 -1
6.13 1
6.14 ctype.h
6.15 1
6.16 10A 20B 30C 40D
6.17 7.29 101.298AB
6.18 A7.29B101.298
6.19 A B C (每個字元後有三個空格)

三. 編程題
6.20
#include
#define N 80

void main()
{
char str[N];
int iLoop = 0;
gets(str);
while(str[iLoop])
{
printf("%c-%d\t", str[iLoop],str[iLoop]);
iLoop ;
if(iLoop%3 == 0)
{
printf("\n");
}
}
printf("\n");
}

6.21
#include
#define N 80

void main()
{
char str[N];
int num = 0;
int iLoop = 0;
gets(str);
while(str[iLoop])
{
if(str[iLoop] >= '0' && str[iLoop] <= '9')
{
num = 10*num (str[iLoop] - '0');
}
iLoop ;
}
printf("%d\n",num);
}

6.22
#include
#include
#define N 80

void main()
{
char str[N];
int num = -1;
do
{
gets(str);
num ;
}while(strcmp(str, "EOF"));
printf("您輸入了%d行字元!\n",num);
}

6.23
#include
#define N 80

void main()
{
char str[N];
int iLoop = 0;
int num = 0;
gets(str);
while(str[iLoop] && iLoop < N)
{
if(str[iLoop] >= 'a' && str[iLoop] <= 'z')
{
num ;
}
iLoop ;
}
printf("您輸入了字元中有%d個小寫字母!\n",num);
}

6.24
#include

void main()
{
int line;
int iLoop1;
int iLoop2;

printf("請輸入圖案的行數(不大於26):");
scanf("%d", &line);
for(iLoop1 = 0; iLoop1 < line; iLoop1 )
{
for(iLoop2 = 0; iLoop2 < line - iLoop1; iLoop2 )
{
printf(" ");
}
for(iLoop2 = 0; iLoop2 < 2*iLoop1 1; iLoop2 )
{
printf("%c",iLoop1 'A');
}
printf("\n");
}
}
第七章

一. 選擇題
7.1 C 7.2 C 7.3 B 7.4 C 7.5 A 7.6 D 7.7 A

二. 填空題
7.8 12
7.9 9.000000
7.10 4
7.11 n=1 s
7.12 <=y z*x
7.13 1 s*i 0 f(k)

三. 程序調試和編程題
7.14
fun(int n)
{ int k,yes;
for(k=2; k<=n/2; k )
{
if(n%k == 0) { yes = 0; break;}
else yes = 1;
}
return yes;
}
7.15
int mymod(int a, int b)
{
return a%b;
}
7.16
double fun(int n)
{
double sum = 0;
int iLoop;
int sig = -1;
for(iLoop=1; iLoop<=n; iLoop )
{
sig *= -1;
sum = sig*1.0/iLoop;
}
return sum;
}
7.17
double fun(int n)
{
double t = 1.0;
int iLoop;
long tmp;
for(iLoop=2; iLoop<=n; iLoop )
{
tmp = iLoop*iLoop;
t -= 1.0/tmp;
}
return t;
}
7.18
#include
#include

double fun(double x)
{
return x*x 5*x 4;
}

void main()
{
int x = 2;
printf("y1=%f\n", fun(x));
printf("y2=%f\n", fun(x 15));
printf("y3=%f\n", fun(sin(x)));
}
2005-7-29 17:53 myhome1702
第八章
一. 選擇題
8.1 A 8.2 B 8.3 B 8.4 C 8.5 B 8.6 B 8.7 C 8.8 D 8.9 B 8.10 C 8.11 C 8.12 C

二. 填空題
8.13 110
8.14 7 1
8.15 (1)char *p=&ch; (2) p=&ch; (3)scanf("%c",p); (4)*p='A'; (5)printf("%c",*p);
8.16 (1)s=p 3; (2)s=s-2 (3)50 (4)*(s 1) (5)2 (6)10 20 30 40 50

三. 編程題
8.17
void fun(double x, double y, double *sum, double *div)
{
*sum = x y;
*div = x - y;
return;
}
8.18
void fun(double x, double y, double z, double *max, double *min)
{
*max = x;
*min = x;
if(*max < y)
{
*max = y;
}
if(*max < z)
{
*max = z;
}
if(*min > y)
{
*min = y;
}
if(*min > z)
{
*min = z;
}
return;
}

第九章
一. 選擇題
9.1 D 9.2 A 9.3 A 9.4 C 9.5 C 9.6 A 9.7 B 9.8 D 9.9 C 9.10 C
9.11 C 9.12 D 9.13 D 9.14 A 9.15 A 9.16 A 9.17 C 9.18 C

二. 填空題
9.19 9 0
9.20 6
9.21 12
9.22 3
9.23 2721
9.24 -850,2,0
9.25 k=p k
9.26 (c=getchar()) c-'A'

三. 編程題
9.27
#include
#define N 81
int main()
{
int counter[10] = {0};
int iLoop = 0;
char str[N];

gets(str);
while(str[iLoop])
{
if(str[iLoop] >= '0' && str[iLoop] <= '9')
{
counter[str[iLoop] - '0'] ;
}
iLoop ;
}
for(iLoop=0; iLoop < 10; iLoop )
{
printf("%d - %d\n", iLoop, counter[iLoop]);
}
return 0;
}
9.28
void fun(int array[], int arraysize, int start)
{
int iLoop;
if(start < arraysize-1)
{
if(start <=0)
{
start = 1;
}
for(iLoop = start; iLoop < arraysize; iLoop )
{
array[iLoop-1] = array[iLoop];
}
}
for(iLoop = 0; iLoop < arraysize; iLoop )
{
printf("No.%d = %d\n", iLoop, array[iLoop]);
}
}
9.29
int fun(int arry1[], int arry2[], int arrysize)
{
int iLoop;
int counter = 0;
for(iLoop = 0; iLoop < arrysize; iLoop )
{
if(arry1[iLoop] % 2)
{
arry2[counter ] = arry1[iLoop];
}
}
return counter;
}
9.30
void fun(char array[], int arraysize)
{
int iLoop1;
int iLoop2;
char temp;
/* 冒泡排序 */
for(iLoop1 = 0; iLoop1 < arraysize - 1; iLoop1 )
{
for(iLoop2 = 0; iLoop2 < arraysize - 1 - iLoop1; iLoop2 )
{
if(array[iLoop2] < array[iLoop2 1])
{
temp = array[iLoop2];
array[iLoop2] = array[iLoop2 1];
array[iLoop2 1] = temp;
}
}
}
}
9.31
#include

void fun(int array[], int arraysize, int inertNumber)
{
int iLoop;
int iLoop2;
if(array[0] < array[arraysize-1])
{
for(iLoop = 0; iLoop< arraysize; iLoop )
{
if(array[iLoop] > inertNumber)
{
for(iLoop2 = arraysize - 1; iLoop2 >= iLoop; iLoop2--)
{
array[iLoop2 1] = array[iLoop2];
}
array[iLoop] = inertNumber;
break;
}
}
if(iLoop >= arraysize)
{
array[arraysize] = inertNumber;
}
}
else
{
for(iLoop = 0; iLoop< arraysize; iLoop )
{
if(array[iLoop] < inertNumber)
{
for(iLoop2 = arraysize - 1; iLoop2 >= iLoop; iLoop2--)
{
array[iLoop2 1] = array[iLoop2];
}
array[iLoop] = inertNumber;
break;
}
}
if(iLoop >= arraysize)
{
array[arraysize] = inertNumber;
}
}
}

int main()
{
int iLoop;
int a[20] = {7,6,5,3,2,1};
for(iLoop = 0; iLoop < 6; iLoop )
{
printf("%d ", a[iLoop]);
}
printf("\n");
fun(a, 6, 0);
for(iLoop = 0; iLoop < 7; iLoop )
{
printf("%d ", a[iLoop]);
}
printf("\n");
fun(a, 7, 4);
for(iLoop = 0; iLoop < 8; iLoop )
{
printf("%d ", a[iLoop]);
}
printf("\n");
fun(a, 8, 8);
for(iLoop = 0; iLoop < 9; iLoop )
{
printf("%d ", a[iLoop]);
}
printf("\n");
return 0;
}
9.32
int fun(int number, int array[])
{
int iLoop = 0;
int iLoop2;
int binLen;
int midNumber;
int div;
int remain;

midNumber = number;
do
{
div = midNumber/2;
remain = midNumber%2;
midNumber = div;
array[iLoop ] = remain;
}while(midNumber);

binLen = iLoop;

for(iLoop2 = 0, iLoop = binLen - 1; iLoop2 < iLoop; iLoop2 , iLoop--)
{
midNumber = array[iLoop2];
array[iLoop2] = array[iLoop];
array[iLoop] = midNumber;
}
return binLen;
}
9.33
#include
#include
#define N 15

void fun(int array[], int arraysize)
{
int x;
int iLoop;
int iLoop2;

for(iLoop = 0; iLoop < arraysize; iLoop )
{
iLoop2 = 0;
x = rand() ;
do
{
if(x == array[iLoop2] && iLoop > 0)
{
x = rand() ;
iLoop2 = 0;
}
iLoop2 ;
}while(iLoop2 < iLoop);
array[iLoop] = x;
}
}

int main()
{
int a[N];
int iLoop;

fun(a, N);
for(iLoop = 0; iLoop < N; iLoop )
{
printf("%d\n", a[iLoop]);
}
return 0;
}

第十章
一. 選擇題
10.1 C 10.2 B 10.3 C 10.4 B 10.5 C 10.6 A 10.7 C 10.8 A 10.9 C 10.10 C

二. 填空題
10.11 GFEDCB
10.12 XYZ
10.13 SO
10.14 10
10.15 Itis
10.16 strlen(str)-1 j--
10.17 3
10.18 goodgood!

三. 編程題
10.19
char* mygets(char *str)
{
int iLoop = 0;
char ch;
while((ch=getchar()) != '\n')
{
str[iLoop ] = ch;
}
str[iLoop] = '\0';
return str;
}
char * myputs(char *str)
{
int iLoop = 0;
while(str[iLoop])
{
putchar(str[iLoop ]);
}
putchar('\n');
return str;
}
10.20
#include
#include

int fun(char *str)
{
int len;
int iLoop1;
int iLoop2;
int result = 1;

len = strlen(str);
for(iLoop1 = 0, iLoop2 = len - 1; iLoop1 < iLoop2; iLoop1 , iLoop2--)
{
if(str[iLoop1] != str[iLoop2])
{
result = 0;
break;
}
}

return result;
}

int main()
{
char a[20] = "ABCDCBA";
char b[20] = "ABCDEBA";

printf("%d\n", fun(a));
printf("%d\n", fun(b));

return 0;
}
10.21
char fun(char *str, int pos)
{
int len;
int iLoop;
char ch;

len = strlen(str);
if(pos > len)
{
return NULL;
}
ch = str[pos];
for(iLoop = pos; iLoop < len - 1; iLoop )
{
str[iLoop] = str[iLoop 1];
}
str[len-1] = '\0';
return ch;
}
2005-7-29 17:54 myhome1702
第十一章
一. 選擇題
11.1 D 11.2 B 11.3 A 11.4 C

二. 填空題
11.5 IJKLEFGHABCD
11.6 7
11.7 8
11.8 *(s j) i 1 i
11.9 17
11.10 (*fun)() (*fun)(a i*h)/h mypoly

三. 編程題
11.11
#include
#include
#define N 81
int main(int argc, char **argv)
{
char sig;
int dig;
int pos;
char str[N] = {'\0'};
char outStr[N] = {'\0'};

if(argc < 2)
{
sig = '-';
dig = 10;
}
else
{
sig = argv[1][0];
dig = argv[1][1] - '0';
}

printf("請輸入一個字元串:");
gets(str);

if(sig == '-')
{
pos = strlen(str) - dig;
if(pos <= 0)
{
pos = 0;
}
strcpy(outStr, str pos);
}
else if(sig == ' ')
{
strcpy(outStr, str);
pos = strlen(outStr);
if(pos > dig)
{
pos = dig;
}
outStr[pos] = '\0';
}

printf("處理後的字串為:");
printf("%s\n", outStr);

return 0;
}
11.12
#include
#include

void movebin(char *bin)
{
int len;
int iLoop;
len = strlen(bin);
for(iLoop = len; iLoop > 0; iLoop--)
{
bin[iLoop] = bin[iLoop - 1];
}
return;
}

void fun(int n, char *bin)
{
int pos;
pos = strlen(bin);
if(n == 0)
{
return;
}
if(n == 1)
{
movebin(bin);
bin[0] = '1';
return;
}
movebin(bin);
bin[0] = (n%2) '0';
n /= 2;
fun(n, bin);
return;
}

int main()
{
int a = 4;
char bin[50] = {""};

fun(a, bin);
printf("%s\n", bin);

return 0;
}
11.13
#include

long fun(int n)
{
if(n == 1)
{
return n;
}
else
{
return fun(n-1) n;
}
}

int main()
{
int num;
int sum;

printf("請輸入一個自然數:");
scanf("%d", &num);
sum = fun(num);

printf("結果是:%d\n", sum);

return 0;
}
11.14
#include

int fun(int n)
{
if(n == 0 || n == 1)
{
return 1;
}
else
{
return fun(n-1) fun(n-2);
}
}

int main()
{
int num;
int result;

printf("請輸入一個自然數:");
scanf("%d", &num);

result = fun(num);
printf("斐波拉契級數為:%d\n", result);

return 0;
}

第十二章
一. 選擇題
12.1 B 12.2 B 12.3 A 12.4 C 12.5 D 12.6 B 12.7 A 12.8 A

二. 填空題
12.9 2,5,1,2,3,-2
12.10 2468

第十三章
一. 選擇題
13.1 A 13.2 C 13.3 B 13.4 C 13.5 D 13.6 D 13.7 D

二. 填空題
13.8 ar=9 ar=9 ar=11
13.9 int* s *b

三. 編程題
13.10
#define MYALPHA(C) ((C>='A' && C<='Z') || (C>='a' && C<='z')) ? 1 : 0
13.11
#define SWAP(t,x,y) {t tmp; tmp=x; x=y; y=tmp;}
13.12
#include
#include

int main()
{
int *p;
int tmp;
int iLoop;
int iLoop2;

p = (int *)malloc(sizeof(int)*3);

scanf("%d%d%d", p,p 1,p 2);
for(iLoop = 0; iLoop < 2; iLoop )
{
for(iLoop2 = 0; iLoop2 < 2 - iLoop; iLoop2 )
{
if(*(p iLoop2) > *(p iLoop2 1))
{
tmp = *(p iLoop2);
*(p iLoop2) = *(p iLoop2 1);
*(p iLoop2 1) = tmp;
}
}
}
printf("%d %d %d\n", *p, *(p 1), *(p 2));

free(p);
p = NULL;
return 0;
}
字太多了 粘不完

❺ c語言關於strlen函數的

設有定義語句:char str[][20]={"Beijing","123456"},*p=str; /*把逗號去掉,把中文變數字*/
則printf("%d\n",strlen(p+20)); 輸出結果是
A)10 B) 6 C) 0 D) 20

選擇B

希望回答對你有幫助

熱點內容
海南大學研究生報考流程 發布:2025-05-10 16:32:17 瀏覽:884
張雪迎上大學了嗎 發布:2025-05-10 16:28:20 瀏覽:701
2015廈門大學考研qq群 發布:2025-05-10 16:25:06 瀏覽:31
太原理工大學數學研究生 發布:2025-05-10 16:18:06 瀏覽:723
大學城附近的整裝公司 發布:2025-05-10 16:03:40 瀏覽:177
華僑大學考研往哪考 發布:2025-05-10 15:45:40 瀏覽:436
揚州大學土木考研難嗎 發布:2025-05-10 15:45:37 瀏覽:592
公積金武漢大學生 發布:2025-05-10 15:37:45 瀏覽:264
在職研究生報名找導師 發布:2025-05-10 15:24:27 瀏覽:443
考研文學類大學 發布:2025-05-10 15:24:27 瀏覽:856