浙大远程教育程序设计基础C离线作业.docx
- 文档编号:18096204
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:32
- 大小:19.95KB
浙大远程教育程序设计基础C离线作业.docx
《浙大远程教育程序设计基础C离线作业.docx》由会员分享,可在线阅读,更多相关《浙大远程教育程序设计基础C离线作业.docx(32页珍藏版)》请在冰豆网上搜索。
浙大远程教育程序设计基础C离线作业
第一章
1、由add、main、scanf、printf函数组成,
调用了scanf、printf两个系统函数。
保留字:
int、return。
自定义标识符:
add、a、b、c、x、y、z。
第二章
1、
#include
voidmain()
{
printf("*\n");
printf("**\n");
printf("**\n");
printf("**\n");
printf("***************\n");
printf("**\n");
printf("**\n");
printf("**\n");
printf("***\n");
printf("****\n");
printf("****\n");
printf("****\n");
printf("****\n");
printf("***\n");
}
2、
#include
voidmain()
{
charcharshuz[20];
puts(gets(charshuz));
}
3、
#include
voidmain()
{
intshiliu;
scanf("%x",&shiliu);
printf("%o\n",shiliu);
}
4、
#include
voidmain()
{
inta,b,swap;
scanf("%d,%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
swap=a;
a=b;
b=swap;
printf("a=%d,b=%d\n",a,b);
}
5、
#include
voidmain()
{
inta;
scanf("%d",&a);
printf("%o%x\n",a,a);
}
6、
#include
voidmain()
{
intinteger;
do
{
printf("输入一个三个数:
");
scanf("%d",&integer);
if(integer<100||integer>=1000)
printf("重新输入,\n");
}while(integer<100||integer>=1000);
printf("输入的整数为:
%d,百位为:
%d,十位为:
%d,个位为:
%d。
\n",integer,integer/100,integer%100/10,integer%100%10);
}
7、程序输出结果为9,10
8、
#include
voidmain()
{
charq;
printf("Areyouastudent?
y/n\n");
scanf("%c",&q);
if(q=='y'||q=='Y')
printf("好好学习!
\n");
elseif(q=='n'||q=='N')
printf("努力上班!
\n");
}
9、
#include
#include
intmain()
{
floatx;
scanf("%f",&x);
printf("sumis%f\n",10*sin(x));
}
第三章
1、for语句的循环次数为3次。
2、for(inti=0;i<6;i++)
printf("%d",h[i][i]);
3、程序实现功能:
统计数组a中元素为0的元素个数。
4、程序实现功能:
把数组a里的元素位置倒置,第一个放在最后一个,第二个放在倒数第二个位置。
5、程序实现的输出结果为:
*********
*******
*****
***
*
6、改正后的正确程序如下:
(1)
#include
voidmain()
{
inti,s;
i=1;s=0;
while(i<=100)
{
s=s+i;
i++;
}
printf("1+2+3+…-.+99+100=%d\n",s);
}
(2)
#include
voidmain()
{
inti,s;
i=1;
s=0;
while(i<=100)
{
s=s+i;
i++;
}
printf("1+2+3+…-.+99+100=%d\n",s);
}
(3)
#include
voidmain()
{
inti=1,s=0;
while(i<=100)
{
s=s+i;
i++;
}
printf("1+2+3+…-.+99+100=%d\n",s);
}
7、满足题目要求的程序如下:
#include
intmain()
{
intjishu,sum=1,i;
do
{
printf("输入一个奇数:
");
scanf("%d",&jishu);
}while(jishu%2==0);
for(i=1;i<=jishu;i=i+2)
{
sum=sum*i;
}
printf("\n1*3*5*...*%d=%d\n",jishu,sum);
}
8、程序如下:
#include
intmain()
{
inti,j,num,sum=0,jiec=1;//jiec存放单个阶乘的值,sum存放所以的阶乘和
do
{
printf("请输入一个5到10之间的整数:
");
scanf("%d",&num);
}while(num<5||num>10);
for(i=1;i<=num;i++)
{
for(j=1;j<=i;j++)
{
jiec=jiec*j;
}
sum=sum+jiec;
jiec=1;
}
printf("\n1!
+2!
+3!
+...+%d!
=%d",num,sum);
}
9、程序如下:
#include
intmain()
{
chari,j;
for(i=0;i<9;i++)
{
for(j=1;j<=i+1;j++)
{
printf("%d",j);
}
putchar('\n');
}
return0;
}
10、程序如下:
#include
voidmain()
{
inti,sum=0;
for(i=2;i<101;i=i+2)
sum=sum+i;
printf("sumis%d\n",sum);
}
或
#include
voidmain()
{
inti,sum=0;
for(i=2;i<101;i++)
{
if(i%2==0)
sum=sum+i;
}
printf("sumis%d\n",sum);
}
11、程序如下:
#include
voidmain()
{
charccc;
intnum=0;
while((ccc=getchar())!
='\n')
{
if((ccc>='a'&&ccc<='z')||(ccc>='A'&&ccc<='Z'))
num++;
}
printf("numis%d\n",num);
}
第四章
1、程序如下:
#include
voidmain()
{
intx;
do
{
scanf("%d",&x);
if(x>0)
printf("%d的绝对值为:
%d\n",x,x);
else
if(x<0)
printf("%d的绝对值为:
%d\n",x,-x);
}while(x!
=0);
}
2、程序如下:
#include
voidmain()
{
intx=0,last=0;
while
(1)
{
printf("请输入x值:
");
scanf("%d",&x);
if(x==0)
{
break;
}
if(x>last)
{
printf("x比相邻数大:
%d",x);
}
last=x;
}
}
3、程序如下:
#include
voidmain()
{
chars;
while((s=getchar())!
='\n')
{
if(s>='A'&&s<='Z')
s+=32;
putchar(s);
}
}
4、程序如下:
#include
voidmain()
{
chars;
intxiaoxie_char=0,daxie_char=0,shuz_char=0,others=0;
while((s=getchar())!
='\n')
{
if(s>='A'&&s<='Z')
daxie_char++;
elseif(s>='a'&&s<='z')
xiaoxie_char++;
elseif(s>='0'&&s<='9')
shuz_char++;
else
others++;
}
printf("这些字符中小写字符为%d,大写字符为%d,数字字符为%d,其他字符为%d\n",xiaoxie_char,daxie_char,shuz_char,others);
}
5、程序如下:
#include
voidmain()
{
intx,y;
scanf("%d",&x);
if(x<=1)
y=x+5;
elseif(x>1&&x<10)
y=2*x;
elseif(x>10)
y=3/(x-10);
printf("x=%d,y=%d\n",x,y);
}
6、程序如下:
#include
voidmain()
{
intbaifen,wufen;
printf("请输入百分制成绩:
");
scanf("%d",&baifen);
wufen=baifen/10;
switch(wufen)
{
case10:
case9:
printf("相对应的5分制:
5\n");break;
case8:
printf("相对应的5分制:
4\n");break;
case7:
printf("相对应的5分制:
3\n");break;
case6:
printf("相对应的5分制:
2\n");break;
default:
printf("相对应的5分制:
1\n");
}
}
7、程序如下:
#include
#include
voidmain()
{
floatx;
intz;
printf("pleaseinputarealnumber:
");
scanf("%f",&x);
printf("pleaseinputainteger:
");
scanf("%d",&z);
switch(z)
{
case1:
printf("%5f\n",sin(x));break;
case2:
printf("%5f\n",cos(x));break;
case3:
printf("%5f\n",tan(x));break;
default:
printf("dateerror!
\n");
}
}
8、程序如下:
#include
voidmain()
{
inti;
printf("Pleaseinputadate:
\n");
scanf("%d",&i);
switch(i)
{
case1:
printf("星期一:
blue\n");break;
case2:
printf("星期二:
red\n");break;
case3:
printf("星期三:
white\n");break;
case4:
printf("星期四:
yellow\n");break;
case5:
printf("星期五:
green\n");break;
default:
printf("\n");
}
}
9、程序如下:
#include
voidmain()
{
chari;
printf("Pleaseinputachar:
\n");
scanf("%c",&i);
switch(i)
{
case'A':
printf("优秀\n");break;
case'B':
printf("良好\n");break;
case'C':
printf("中等\n");break;
case'D':
printf("及格\n");break;
case'E':
printf("不及格\n");break;
default:
printf("deteerror");
}
}
第五章
1、程序如下:
#include
voidmain()
{
intshuzu[12]={900,2,3,58,34,76,87,72,90,20,78,30},i,max=shuzu[0],min=shuzu[0];
for(i=0;i<12;i++)
{
if(shuzu[i]>max)
max=shuzu[i];
elseif(shuzu[i] min=shuzu[i]; } printf("maxis%d,minis%d\n",max,min); } 2、程序如下: #include voidmain() { inti,a[10]={2,3,20,58,72,76,78,87,90,900}; for(i=0;i<10;i++) { if(a[i]%2==0) printf("%3d",a[i]); } } 3、程序如下: #include #defineSIZE10 voidmain() { inta[SIZE]={2,3,20,58,72,76,78,87,90,900},i,j,low=0,high=SIZE-1; i=(low+high)/2; while(high>=low) { if(a[i]<87) { low=i; i=(low+high)/2; } elseif(a[i]>87) { high=i; i=(low+high)/2; } else break; } for(j=i;j a[j]=a[j+1]; } 第六章 1、程序运行的结果为: ave=81.000000 2、程序运行的结果为: str[]=abdef 3、程序运行的结果为: 55 444 1111 11111 4、程序运行的结果为: 7 5、程序运行的结果为: 1432作用: 10进制转换为8进制. 二、程序设计 1、程序如下: #include intf(intx,intz) { intsum=1,i; for(i=0;i sum=sum*x; returnsum; } voidmain() { intjishu,num,y; printf("pleaseinputajishu: "); scanf("%d",&jishu); printf("pleaseinputanum: "); scanf("%d",&num); y=f(jishu,num); printf("%d",y); } 2、程序如下: #include intsum(inta[][6],intx,inty) { intsum=0,i,j; for(i=0;i for(j=0;j if(i==j) { sum=sum+a[i][j]; } else continue; returnsum; } voidmain() { inti,j,a[6][6]; for(i=0;i<6;i++) for(j=0;j<6;j++) a[i][j]=i+j*2; printf("sumis%d\n",sum(a,6,6)); } 3、程序如下: #include #include intinvert(charstr[]) { intn,i; chartemp; n=strlen(str); for(i=0;i { temp=str[i]; str[i]=str[n-1-i]; str[n-1-i]=temp; } } voidmain() { charstr[20]; scanf("%s",str); invert(str); puts(str); } 4、程序如下: #include #include #include char*func(charstr[],intm,intn) { if(strlen(str) returnNULL; char*buffer=newchar[n+1]; memset(buffer,0,n+1); intk,i; for(k=m,i=0;str[i];i++) { if(i { buffer[i]=str[m+i]; } str[m+i]=str[m+n+i]; } str[m+i]='\0'; returnbuffer; } voidmain() { charstr[]={"123456"}; char*buffer=func(str,2,2); } 5、程序如下: #include voidmain() { inti,j,n,s=0; charsss[30]; scanf("%s",sss); for(i=0,j=0;sss[i];i++) { if(sss[i]>='0'&&sss[i]<='9') { s=s*10+sss[i]-'0'; sss[j]=sss[i]; j++; } } sss[j]='\0'; puts(sss); putchar('\n'); printf("Thesis%d\n",s); } 6、程序如下: #include intsum(intn) { int_sum; if(n==1) _sum=1; else _sum=n+sum(n-1); return_sum; } voidmain() { int_sum,n; do { printf("Pleaseinputanum(>=1): "); scanf("%d",&n); }while(n<1); _sum=sum(n); printf("Sumis%d\n",_sum); } 第七章 1、程序的执行结果为: 1,1 2、程序的执行结果为: s=18 3、程序的执行结果为: 7 第八章 1、空中应填: ”out.dat”,”w”和fclose(fp) 2、空中应填: feof(fp) 3、空中应填: fopen(“fname[10]”,”w”)和ch 4、空中应填: &r,1,feof(fp),break 5、程序如下: #include #include intmain() { FILE*fp; charch; if((fp=fopen("11.txt","w"))==NULL) { printf("cannotopenthisfile\n"); exit(0); } while((ch=getchar())! ='#') fputc(ch,fp); fclose(fp); return0; } 6、程序如下: #include #include intmain() { FILE*fp; charch; if((fp=fopen("11.txt","r"))==NULL) { printf("cannotopenthisfile\n"); exit(0); } while(! feof(fp)) { if((ch=fgetc(fp))>='a'&&(ch=fgetc(fp))<='z'||(ch=fgetc(fp))>='A'&&(ch=fgetc(fp))<='Z'||(ch=fgetc(fp))>='0'&&(ch=fgetc(fp))<='9') putchar(ch); } fclose(fp); return0; } 7、程序如下: #include #include intmain() {FILE*fp,*fp1; longnum=0; inti=0,t=0; charch; chardata[1000]; if((fp=fopen("l1.txt","r"))==NULL) { printf("Can'topenfile! \n"); } while(! feof(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 浙大 远程教育 程序设计 基础 离线 作业
![提示](https://static.bdocx.com/images/bang_tan.gif)