皖西学院c语言上机题.docx
- 文档编号:27422639
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:12
- 大小:19.89KB
皖西学院c语言上机题.docx
《皖西学院c语言上机题.docx》由会员分享,可在线阅读,更多相关《皖西学院c语言上机题.docx(12页珍藏版)》请在冰豆网上搜索。
皖西学院c语言上机题
皖西学院2018年c语言上机题
试卷1改错题
在屏幕上输入以下图形(每行前没有空格,星号之间也没有空格)
*****
****
***
**
*
**
***
****
*****
#include
voidmain()
{
inti,j;
i=1;/*$ERROR1$*/改为i=0;
while(i<5)
{
j=0;
while(j<5-i)
{printf("*");
j++;
}
printf("\n");
i++;
}
i=4;
while(i>0)
{
j=0;
while(j<5-i)/*$ERROR2$*/改为while(j<=5-i)
{printf("*");
j++;
}
printf("\n");
i++;/*$ERROR3$*/改为i--;
}
}
试卷1填空题
某部门有三位职工,要求输入职工的工资信息,计算每位职工的实发工资和部门实发工资总
额(total)
说明:
(1)描述职工工资信息的数据包括编号(num)、姓名(name)、基本工资(bwage)奖
金(bonus)、保险(ins)和实发工资(rwage);
(2)实发工资=基本工资+奖金—保险;
(3)职工编号长度小于10位且为整数,姓名不包括空格。
#include
#defineN3
structemployee
{
longnum;
charname[15];
longbwage,bonus,ins,rwage;
};
voidmain()
{
sructemployeeNK1$*/
inti;
longtotal;
total=0;/*$BLANK2$*/
printf("Pleaseinputdata:
\n");
printf("\nnumnamebwagebonusins:
\n");
for(i=0;i { scanf("%ld%s",&worker[i].num,worker[i].name); scanf("%ld%ld%ld",&worker[i].bwage,&worker[i].bonus,&worker[i].ins); } for(i=0;i { Worker[i].rwage=worker[i].bonus-worker[i].ins;/$BLANK3$*/ total=total+worker[i].rwage; } printf("output: \n"); printf("\nnumnamerealwage\n"); for(i=0;i { printf("%-9ld%-14s%-ld\n",worker[i].num,worker[i].name,worker[i].rwage); } printf("\ntotalwage=%ld\n",total); } 试卷1程序题 某果农有一车水果,第一天卖掉三分之而后吃了两个,第二天卖掉了剩下的三分之二又吃了 两个,第三天到第七天都如此,到第八天一看只剩了五个苹果。 求此车共装有多少个苹果(要 求用循环实现)。 参考程序1 #include voidPRINT(ints) { FILE*out; printf("s=%d\n",s); if((out=fopen("C: \\24000110\\RESULT.DAT","w+"))! =NULL) fprintf(out,"s=%d",s); fclose(out); } voidmain() { inti;s=5; for(i=1;i<8;I++) s=(s+2)*3; PRINT(s); } 试卷2改错题 计算所有三位正整数中各个数位上数字之和是13的数的总和。 如将139、148、157等这样 的数求和。 #include voidmain() { inti,j,s; longsum; sum=1;/*$ERROR1$*/改为sum=0; for(i=100;i<=999;i++) { j=i; s=0; while(j>1)/*$ERROR2$*/改为while(j<0) { s=s+j/10;/*$ERROR3$*/改为s=s+j%10; j=j/10; } if(s==13)sum+=i; } printf("%ld\n",sum); } 试卷2填空题 从键盘上输入两个正整数,并输入他们的最大公约数。 #include intgcd(intm,intn) { intr,t; if(m { t=m; m=n; n=t;/*$BLANK1$*/ } while(n>0) { r=m%n; m=n; n=r; } return(_m);/*$BLANK2$*/ } voidmain() { intm,n,result; printf("Peaseinputtwonumber: \n"); scanf("%d%d",&m,&n);/*$BLANK3$*/ result=gcd(m,n); printf("result=%d\n",result); } 试卷2程序题 求100~999之间的回文素数之和。 说明: (1)回文素数是一个素数,且从左向右和从右向左读是相同的,如: 101,131,181 (2)要求使用循环实现。 参考程序1 #include voidPRINT(longs) { FILE*out; printf("s=%ld\n",s); if((out=fopen("C: \\24000110\\RESULT.DAT","w+"))! =NULL) fprintf(out,"s=%ld",s); fclose(out); } voidmain() { longs=0; inta,b,I,t; for(a=1;a<=9;a++) for(b=0;b<=9;b++) { t=101*a+10*b;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西学 语言 上机