程序设计基础C离线作业文档格式.docx

上传人:b****6 文档编号:19026930 上传时间:2023-01-03 格式:DOCX 页数:41 大小:34.16KB
下载 相关 举报
程序设计基础C离线作业文档格式.docx_第1页
第1页 / 共41页
程序设计基础C离线作业文档格式.docx_第2页
第2页 / 共41页
程序设计基础C离线作业文档格式.docx_第3页
第3页 / 共41页
程序设计基础C离线作业文档格式.docx_第4页
第4页 / 共41页
程序设计基础C离线作业文档格式.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

程序设计基础C离线作业文档格式.docx

《程序设计基础C离线作业文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础C离线作业文档格式.docx(41页珍藏版)》请在冰豆网上搜索。

程序设计基础C离线作业文档格式.docx

编译并运行程序,程序运行时输入两个整数,2040,观察程序运行的结果。

2.编辑、调试以下程序

在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2.c

步骤2:

在文本编辑器中输入以下C程序

#include<

ex1-2-2.c>

intand(int,int);

/*函数的说明,告诉系统在主函数中要调用and函数*/

intor(int,int);

%d%d"

c=and(a,b);

%d&

&

%d=%d\n"

/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/

c=or(a,b);

%d||%d=%d\n"

[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-2.c,源程序代码为:

intand(inta,intb)

{

intc;

c=a&

b;

returnc;

步骤4:

[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-3.c,源程序代码为:

intor(inta,intb)

c=a||b;

步骤5:

点击编译图标

,编译程序1-2.c

点击执行图标

,执行程序1-2.c,当程序运行时,键盘输入2040,按回车。

2040

20&

40=1

20||40=1

您可以输入其它的整数,观察程序的执行结果。

第2章 输入输出程序设计

1.用printf输出一个中空的五角星。

#include<

intmain()

printf("

*\n"

);

**\n"

************\n"

***\n"

****\n"

2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。

/#include<

charstring[20];

scanf("

%s"

string);

%s\n"

3.从键盘输入十六进制整数,转化为八进制数输出。

//inta;

%x"

a);

%o"

a);

4.只定义两个整型数据并赋值,实现两个整型数的互换。

//inta=1,b=2;

a^=b;

b^=a;

a^=b;

%d_%d"

b,a);

5.从键盘上输入一个整数,分别输出8、16进制数的程序。

//inta;

%x\n"

%o\n"

6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。

%d"

%d\n"

a%10);

a%100/10);

a%1000/100);

7.以下程序输出结果是(9,10)。

voidmain()

inti=010,j=10;

%d,%d\n"

++i,j--);

}

8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。

//charstr;

您是一个学生吗?

\n"

输入’y’或’n’进行回答\n"

str=getchar();

if(str=='

y'

||str=='

Y'

printf("

Yes.\n"

elseif(str=='

n'

N'

No.\n"

else

你的回答不明确!

9.从键盘输入一个角度x,求10*sin(x)的值。

//#include<

Math.h>

#definePI3.14

inti;

floatj;

请输入角度:

i);

j=10*sin((float)i/180*PI);

结果为:

%f\n"

j);

system("

pause"

第3章 循环程序设计

1.以下for语句的循环次数是多少?

3次

inti,j=3;

for(;

i=j;

i--,j--)printf("

i);

2.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:

for(inti=0;

i<

6;

i++)

h[i][i])

3.写出以下程序运行的结果,此程序实现了什么功能?

输出1,查找数值0存在的个数

{inta[10]={2,4,0,-5,10,6,-8,9,6,7};

inti,count=0;

for(i=0;

10;

i++)

if(a[i]==0)count++;

elsecontinue;

%d\n"

count);

4.写出以下程序的功能。

数组颠倒

inta[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;

for(k=0;

k<

10/2;

k++)

tmp=a[k];

a[k]=a[10-k-1];

a[10-k-1]=tmp;

5.写出以下程序运行后的输出结果。

用星画出的倒三角图形

inti,j;

6;

{

for(j=0;

j<

i;

j++)

"

for(j=0;

2*(5-i)-1;

*"

6.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。

(1)

voidmain()

inti,s;

i=1;

s=0;

while(i<

=100){

s=s+i;

i++;

printf(“1+2+3+….+99+100=%d\n”,s);

(2)

s=0;

(3)

inti=1,s;

=100)

8.输入一个基数,例如输入9,输出为:

求1*3*……*9的值。

输出为:

1*3*5*7*9=945

//inta=9,b=1,i=1;

for(;

=a;

if(i%2)continue;

b+=b*i;

9.输入一个5~10之间的整数n,求1!

+2!

+3!

+…+n!

例如输入5,输出为:

1!

+…+5!

=153

//ints=0,p=1,i,n,j;

n);

if(n<

5||n>

10)

return0;

for(i=1;

=n;

p=1;

for(j=1;

=i;

p*=j;

s+=p;

s);

9.在屏幕上输出以下内容

1

12

123

1234

12345

123456

1234567

12345678

123456789

//inti=1;

for(i=1;

=9;

intd=1;

charst[10]={0};

for(d=1;

d<

d++)

{

charstr[10]={0};

itoa(d,str,10);

strcat(st,str);

}

st);

 

10.求2+4+6+……+98+100的和,用多种for表达式来完成。

//inti=0,st=0;

for(i=0;

=100;

i+=2)

st+=i;

11.输入一行字符,统计它有多少个字母?

chars[100]={0};

%s,%d"

s,strlen(s));

第4章 分支程序设计

1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。

ints=0;

s);

if(abs(s)==0)return0;

2.输入一批数,输出比相邻数大的数,当输入0时结束。

intx=0,last=0;

while

(1){

请输入x值:

"

scanf("

&

x);

if(x==0)

{

break;

}

if(x>

last)

x比相邻数大:

fabs(x));

last=x;

3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。

charstr[100]={0};

intlen=0;

inti=0;

请输入字符:

str);

len=strlen(str);

for(i=0;

i<

len;

i++)

if('

A'

<

=str[i]&

str[i]<

='

Z'

str[i]+=32;

}

转换后字符:

4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。

intupchar=0,lowchar=0,number=0,other=0;

str);

i++){

{

upchar++;

elseif('

a'

z'

lowchar++;

elseif('

0'

9'

number++;

else

other++;

大写字符:

%d小写字符:

%d数字字符:

%d其他字符:

upchar,lowchar,number,other);

5.编写程序,计算分段函数:

if(x<

=1) 

y=x+5;

else 

10) 

y=2x;

y=3/(x-10);

6.根据输入的百分制按五分制的成绩输出。

百分制与五分制之间的关系见下表。

百分制

五分制

90~100

5

80~89

4

70~79

3

60~69

2

60

1

intsum=0,let=0;

sum);

if(sum>

=90&

sum<

=100)

let=5;

}elseif(sum>

=80&

=89)

let=4;

=70&

=79)

let=3;

=60&

=69)

let=2;

}else{

let=1;

let);

7、用switch完成:

读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。

floatx=0;

inty=0;

请输入一个实数:

%f"

请输入一个整数:

y);

switch(y){

case1:

printf("

sin(x));

break;

case2:

cos(x));

case3:

tan(x));

default:

你输入了错误的整数!

8、用switch完成:

输入星期1到星期5,输出它们对应的颜色

星期1:

blue

星期2:

red

星期3:

white

星期4:

yellow

星期5:

green

inty=0;

请输入一个星期(12345):

switch(y)

blue"

red"

white"

case4:

yellow"

case5:

green"

你输入了错误的星期数(不属于1~5)!

break;

9、用switch完成:

从键盘输入A、B、C、D四个等级中的一个,转化输出

等级

输出

A

优秀

B

良好

C

中等

D

及格

E

不及格

chary=0;

%c"

case'

:

优秀"

B'

良好"

C'

中等"

D'

及格"

E'

不及格"

第5章 数组及其应用

1.从键盘输入12个数,分别为:

900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。

inta[12]={900,2,3,58,34,76,87,72,90,20,78,30},d=0,t=0,s=0;

for(d=0;

sizeof(a)/sizeof(a[0]);

if(d==0){

s=t=a[d];

if(t>

a[d])

t=a[d];

if(s<

s=a[d];

t,s);

2.采用遍历查找,在数组a[SIZE]={2,3,20,58,72,76,78,87,90,900}中,找出偶数。

inta[12]={900,2,3,58,34,76,87,72,90,20,78,30};

if(a[d]%2==0)

printf("

a[d]);

3.采用折半查找,在数组a[SIZE]={2,3,20,58,72,76,78,87,90,900}中,找到87,然后进行删除。

inta[]={2,3,20,58,72,76,78,87,90,900};

voidfind(inti,intj){

if(j-i<

=1)return;

intmid=(i+j)/2;

if(a[mid]==87)a[mid]=EOF;

else{

find(i,mid);

find(mid+1,j);

return;

intmain(){

find(0,9);

第6章 函数及其应用

练习与实践

一、阅读程序,写出程序运行的结果。

1.写出以下程序的执行结果。

81.000000

floataver(inta[])

intk,sum=0;

floatave;

for(k=0;

k++)

sum+=*(a+k);

ave=(float)sum/10;

return(ave);

staticb[]={78,89,98,76,78,45,88,81,92,85};

ave=aver(b);

ave=%f\n"

ave);

提示:

数组b的首地址传递给形参a,*(a+k)就是数组元素b[k].

2.阅读程序,写出程序的执行结果。

str[]=abdef

voidabc(charstr[])

{inta,b;

for(a=b=0;

str[a]!

='

\0'

;

a++)

if(str[a]!

c’)

str[b++]=str[a];

str[b]='

charstr[]="

abcdef"

;

abc(str);

str[]=%s"

str);

return0;

数组str的首地址传递给形参str,str[a]就是实参中的数组元

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1