最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C語言程序設計作業(yè)題

2022-03-22 09:43 作者:答案鬼  | 我要投稿

《C語言程序設計》作業(yè)與思考題解答


? ? 說明:習題中P119:2.7 表示《C/C++上機實踐及習題選解》中第119頁的2.7題,其它以此類推,書后有解答。非《C/C++上機實踐及習題選解》中的習題提供習題參考答案。

習題解答

作業(yè)一

1.合法的標識符:? ?a12? ?A21? sum2? ? _fun? ? C_program?

不合法的標識符:f(x)? ? $a21? ? 21a? ?while? tan@sohu.com?

2.?

? ?main( )

? ?{ int? i, j, s;

? ? i=2;? j=3;

? ? s=i*j;

? ? printf(“ %d×%d=%d”,i,j,s)

? ?}


作業(yè)二

1.指出下列哪些為C語言正確的整型(int)常量、實型(float)常量、字符型(char)常量?

正確的整型(int)常量:0? ? -325? ?128? ?03456??

正確的實型(float)常量:? ? 0.0? ? 2.? ?1.2e-3? ? ?5e2

正確的字符型(char)常量:? ‘b’? ‘\104’? ? ‘\108’? ?‘\n’? ?‘8’?


2.表達式的結(jié)果 (1)? 1

(2)? 0

(4)? 0

(5)? 9.5

(9)? ‘A’

(11)? 2

(12)? 4.5


3. Y=sin(2*x)+(a+b)/(a*b)/(1+a/b)+*a*a/2


4.設m為整數(shù),用邏輯表達式表示:能同時被3與7整除或者被5除余2且小于100的整數(shù)。

m%3= =0 && m%7= =0 || m%5= =2 && m<100


作業(yè)三

1.華氏溫度通過公式C=5/9(f-32)轉(zhuǎn)換成攝氏溫度。試編程并上機調(diào)試運行:從鍵盤上輸入華氏溫度,利用公式計算后輸出攝氏溫度(要求:保留一位小數(shù);記錄調(diào)試過程中遇到的問題及解決方法)。

? #include <stdio.h>

main( )

{ float f,c;

? scanf(“%f”,&f);

? c=5.0/9*(f-32);

? printf(“c=%.1f”,c);

}


2.

用IF語句:

? #include <stdio.h>

? #include <math.h>

main( )

{ float x,y;

?scanf(“%f”,&x);

?if (x<0) y=fabs(x);

?else if (x<10) y=x;

? ? ?else? if? (x<20) y=3-x/5;

? ? ? ? ?else? if? (x<40)? y=3*x-10;

? ? ? ? ? ? ? else y=0;

printf(“y=%f’,y);

}


用switch 語句:

#include <stdio.h>

? #include <math.h>

main( )

{ float x,y;

?scanf(“%f”,&x);

?if (x<0) y=fabs(x);

?else? switch ( int(x/10) )

{ case? 0:? y=x; break;

? ? ? ? case? 1:? y=3-x/5;break;

? ? ? ? case 2,3:? y=3*x-10; break;

? ? ? ? defaut? ? y=0;

? ? ? ?}

printf(“y=%f’,y);

}


3. 解答見P151;


4.程序如下:

#include <stdio.h>

#include <string.h>

main()

{

?int i=0;

?char ch;

?ch=getchar();

?while (ch!='\n')

? { if (ch=='(') i++;

? ? if (ch==')') i--;

? ? if (i<0) break;

? ? ch=getchar();

? }

? ? if (i==0) printf("(與)匹配") ;

? ? else? ?if (i<0)? ?printf(" 缺) ") ;

? ?else? printf("缺少)");

?}


?5. 程序如下:

? #include<stdio.h>

main()

{

int i,j,k,m=0;

for (i=1;i<10;i++)

? ? ?for (j=1;j<20;j++)

? ? ? ? ?{ k=100-i*10-j*5;

? ? ? ? ? ?if (k>0) { printf("? ?i=%-3dj=%-3dk=%-3d",i,j,k);

? ? ? ? ? ? ? ? ?m++;

? ? ? ? ? ? ? ? ?if (m%4==0) putchar('\n');

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ?}?

printf("\nm=%d\n",m);

}


6. 在橫線上填寫合適語句,完善程序,使之完成如下功能:從鍵盤上輸入一個不多于7位的正整數(shù),統(tǒng)計其中2的個數(shù),并求各位數(shù)字中的最小數(shù)。

#include <stdio.h>

main( )

{int count,min,temp;

?long n;

?min=9;? count=0;

?scanf( “%ld”? ,&n);

do

{ temp= n % 10? ? ;

if (temp= =2) count++;

if (min>temp) min=temp;

n=n/10;

}while (? n? ? );

printf(“count=%d,min=%d”,count,min)

}


作業(yè)四

1.p128:? 4.6? 解答見p156

2.? p128:? 4.11? 解答見p158


3.編寫一遞歸函數(shù)計算mn? ,并從鍵盤輸入m,n的值(如4,3),求mn 的值(上機調(diào)試)。

?funm_n(int m,int n)

{

int y;

if (n==1) y=m;

else y=m*funm_n(m,--n);

return y;

}

main()

{int m,n,y;

printf("Input integer(m,n):");

scanf("%d,%d",&m,&n);

y=funm_n(m,n);

printf("\n%d^%-d=%-d",m,n,y);

}


4.P128: 4.12 (3); 答案:12345678


5.求3-100中的素數(shù),要求編寫一函數(shù)來判斷某數(shù)是否為素數(shù)。

?main()

{

int prime,i,n=0;

for (i=3;i<=100;i++)

? ?{ prime=prime_num(i);

? ? ?if (prime) { if (n%10==0) printf("\n");printf("%4d",prime);n++;}

? ?}

}


prime_num(int m)

{ int k=2,r;


do {

r=m % k;

if (r==0) break;

k++;

? ?}while(k<m);

? ?if (r!=0)? return m;

? ?else? ? ? ?return 0;

}



6.? 結(jié)果如下:

main0:x=12,y=2

fun: x=6,y=25

main:x=12,y=2

fun:x=7,y=26

main:x=12,y=2


作業(yè)五

1.從鍵盤上輸入一串英文字符(不含空格與其他字符),統(tǒng)計每個字符的數(shù)目,并輸出字母及相應的數(shù)目。

#include <stdio.h>

#include <string.h>

main()

{

?int i=0,c[52]={0},m=0;

?char str[80];

?printf("Input a string:");

?scanf("%s",str);

?while (str[i])

?{ if (str[i]>='A' && str[i] <='Z') c[str[i]-'A']++;

? ?if (str[i]>='a' && str[i] <='z') c[str[i]-'a'+26]++;

? ?i++;

?}

?for (i=0;i<26;i++)

? ? if (c[i]){ if (m%8==0) putchar('\n');m++;

? ? ? ? ? ?printf("%c:%-d ",i+'A',c[i]);

? ? ? ? ? }


?for (i=0;i<26;i++)

? ? if (c[i+26]){if (m%8==0) putchar('\n');m++;

printf("%c:%-d ",i+'a',c[i+26]);

}

}


2.? P132: 5.15? 程序見p167


3.從鍵盤上輸入8個數(shù),用選擇法按由大到小的順序排列并輸出,要求用指針實現(xiàn)。

? ?#include <stdio.h>

#include <string.h>

main()

{

?int data[8],i,*p1,*p2,temp;

?p1=data;

?printf("Input 8 numbers:");

?for (i=0;i<8;i++)

? ? { scanf("%d",p1);/* 或 &(*p1)? */ ;

? ? ? p1++;

? ? }


?for (p1=data;p1<data+8-1;p1++)

? ?for (p2=p1+1;p2<data+8;p2++)

? ? ? ?if (*p1<*p2){ temp=*p1; *p1=*p2; *p2=temp;}

?for (i=0,p1=data;i<8;i++,p1++)

? ? printf("%6d",*p1 ) ;

?}



4.從鍵盤上輸入一個4×4整數(shù)矩陣,以主對角線(\)為對稱軸,將左下角元素中較大元素代替右上角對應元素,并將右上角元素(含對角線元素)輸出。


#include <stdio.h>

#include <string.h>

main()

{

?int d[4][4],i,j,temp;

?printf("Input 16 numbers:");

?for (i=0;i<4;i++)

? ? for (j=0;j<4;j++)

? ? ?scanf("%d",&d[i][j]) ;


for (i=0;i<4;i++)

? ?for (j=0;j<i;j++)

? ? ? ?if (d[i][j]>d[j][i]) d[j][i]=d[i][j];


?for (i=0;i<4;i++)

? { printf("\n");

? ? for (j=0;j<4;j++)

? ? if (j>=i) printf("%6d",d[i][j] ) ;

? ? else? ? ? printf("%6c",' ') ;

? ?}

?}



5.盤上輸入兩個字符串a(chǎn),b,下面程序?qū),b的對應字符中的較大者存放在數(shù)組c的對應位置上,填空完善之。

#include <stdio.h>

#include <string.h>

main( )

{int? k=0;

char a[80],b[80],c[80]={‘\0’},*p,*q;

p=a;? q=b;

gets(a);? gets(b);?

while (*p!=0 || * q!=0? )

?{ if ( *p!=0 ) c[k]=*p;

? else? c[k]=*q;

? p++;? q++;? k++;

? if ( *p !=0 )? strcat(c,p);

else? strcat(c,q);

puts(c);

}


作業(yè)六

1.P134:6.5? 程序見p178

2.P135:6.7? 程序見p181

3.P134:6.18 程序見p196


C語言程序設計作業(yè)題的評論 (共 條)

分享到微博請遵守國家法律
克山县| 上蔡县| 普定县| 钟山县| 卢氏县| 兴隆县| 开封县| 保德县| 扶风县| 剑河县| 宝应县| 清河县| 七台河市| 蕉岭县| 厦门市| 梓潼县| 隆安县| 宜昌市| 邵东县| 泾源县| 连云港市| 南通市| 奉节县| 清流县| 定日县| 遂昌县| 磐石市| 新田县| 若羌县| 新昌县| 阳西县| 从江县| 双江| 鄂尔多斯市| 南部县| 镇安县| 紫云| 阿尔山市| 永春县| 鲁山县| 贵溪市|