![C程序设计2022学习通超星期末考试答案章节答案2024年_第1页](http://file4.renrendoc.com/view9/M02/0E/11/wKhkGWcoJMiAK84LAALYUIRxHn8162.jpg)
![C程序设计2022学习通超星期末考试答案章节答案2024年_第2页](http://file4.renrendoc.com/view9/M02/0E/11/wKhkGWcoJMiAK84LAALYUIRxHn81622.jpg)
![C程序设计2022学习通超星期末考试答案章节答案2024年_第3页](http://file4.renrendoc.com/view9/M02/0E/11/wKhkGWcoJMiAK84LAALYUIRxHn81623.jpg)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计2022学习通超星期末考试章节答案2024年编写程序,按如下格式输出整数,小数,字符串。(□表示空格)整数:12输出格式:12□□□,□□□12小数:3.1415926输出格式:□□3.142,3.142□□字符串:CHINA输出格式:□□□CH,CHI□□输入格式:输出格式:“%md”
“%m.nf”
“%m.ns”输入样例:输出样例:12□□□,□□□12□□3.142,3.142□□□□□CH,CHI□□
答案:#includevoidmain(){
inta=12;
floatb=3.1415926;
printf("%-5d,%5d\n",a,a);
printf("%7.3f,%-7.3f\n",b,b);
printf("%5.2s,%-5.3s","CHINA","CHINA");}通过库函数sizeof()获得int、short、long、float和double数据类型所占内存的字节数。输入格式:输出格式:“int占%d个字节\n”“short占%d个字节\n”“long占%d个字节\n”“float占%d个字节\n”“double占%d个字节\n”输入样例:输出样例:int占4个字节short占2个字节long占4个字节float占4个字节double占8个字节
答案:#includevoidmain(){
printf(“int占%d个字节\n”,sizeof(int));
printf(“short占%d个字节\n”,sizeof(short));
printf(“long占%d个字节\n”,sizeof(long));
printf(“float占%d个字节\n”,sizeof(float));
printf(“double占%d个字节\n”,sizeof(double));}编写程序,利用switch语句实现从键盘输入一个正整数,输出对应为一周中的星期几。输入格式:"%d"输出格式:"一周中的第%d天为星期一\n""一周中的第%d天为星期二\n""一周中的第%d天为星期三\n""一周中的第%d天为星期四\n""一周中的第%d天为星期五\n""一周中的第%d天为星期六\n""一周中的第%d天为星期日\n"输入样例:3输出样例:一周中的第3天为星期三
答案:#includevoidmain(){
intday=0;
scanf("%d",&day);
switch(day)
{
case1:
printf("一周中的第%d天为星期一\n",day);
break;
case2:
printf("一周中的第%d天为星期二\n",day);
break;
case3:
printf("一周中的第%d天为星期三\n",day);
break;
case4:
printf("一周中的第%d天为星期四\n",day);
break;
case5:
printf("一周中的第%d天为星期五\n",day);
break;
case6:
printf("一周中的第%d天为星期六\n",day);
break;
case7:
printf("一周中的第%d天为星期日\n",day);
break;
}}编写程序,利用if-else语句实现从键盘输入一个正整数,判断其奇偶性,并输出判断结果。输入格式:"%d"输出格式:"%d是偶数\n""%d是奇数\n"输入样例:请输入一个正整数:5输出样例:5是奇数
答案:#includevoidmain(){
intn;
printf("请输入一个正整数:");
scanf("%d",&n);
if(n%2==0)
printf("%d是偶数\n",n);
else
printf("%d是奇数\n",n);}编写程序,利用if语句实现从键盘输入三个实数,判断其中的最大值,将结果输出。输入格式:"%f%f%f"输出格式:"max=%f\n"输入样例:1.22.34输出样例:max=4.000000
答案:#includeintmain(){
floata,b,c,max;
scanf("%f%f%f",&a,&b,&c);
max=a;
if(max设计程序,利用while/do…while/for语句(任选一种)求Π值。使用如下公式Π/4=1-1/3+1/5-1/7+…+1/(4n-3)-1/(4n-1)+…
(n=10000).输入格式:输出格式:"PI=%f\n"输入样例:输出样例:PI=3.141384
答案:***********while语句***********#includevoidmain(){
intn=1;
floatm,sum=0;
while(n<=10000)
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
n++;
}
printf("PI=%f\n",4*sum);}***********do…while语句***********#includevoidmain(){
intn=1;
floatm,sum=0;
do
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
n++;
}while(n<=10000);
printf("PI=%f\n",4*sum);}***********for语句***********#includevoidmain(){
intn=1;
floatm,sum=0;
for(n=1;n<=10000;n++)
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
}
printf("PI=%f\n",4*sum);}有一张纸厚0.5mm,假如它足够大,将它不断对折,问对折多少次后厚度可以达到珠穆朗玛峰的高度(8848m)。设计程序,求解并输出对折次数n。(提示:利用break或continue语句)输入格式:输出格式:"n=%d.\n"输入样例:输出样例:n=25.
答案:***********break语句***********#includeintmain(){
intn=0;
floath=0.5;
while(1)
{
n++;
h=h*2;
if(h>=8848000)
break;
}
printf("n=%d.\n",n);}***********comtinue语句***********#includevoidmain(){
intn=0;
floath=0.5;
while(1)
{
n++;
h=h*2;
if(h<8848000)
continue;
printf("n=%d.\n",n);
break;
}}为使电文保密,往往按照一定规律将其转换成密码,设计程序,将输入的字母按照以下规律转换。(考虑多个字母的情况)ABCD……WXYZABCD……WXYZABCD……abcd……wxyzabcd……wxyzabcd……例如输入abwxyz输出将其转化为efabcd,即每个字母变成其后的第四个字母。输入格式:
getchar输出格式:"%c"输入样例:
China!输出样例:Glmre!
答案:#includevoidmain(){
charc;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");}设计程序,先将10个整数从大到小排序,然后把一个整数按大小插入到已排序的数组中。a[11]={127,3,6,28,54,68,87,105,162,18}
将29插入数组中。输入格式:
“%d”输出格式:"%4d"输入样例:29输出样例:
162127105
87
68
54
28
18
6
3
inputnumber:
29
162127105
87
68
54
29
28
18
6
3
答案:#includeintmain(){
inti,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
for(i=0;i<10;i++)
{
p=i;
q=a[i];
for(j=i+1;j<10;j++)
if(qa[i])
{
for(s=9;s>=i;s--)
a[s+1]=a[s];
break;
}
a[i]=n;
for(i=0;i<=10;i++)
printf("%4d",a[i]);
printf("\n");}编写程序输出杨辉三角形。输入格式:输出格式:"%5d"输入样例:输出样例:
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10
10
5
1
1
6
15
20
15
6
1
1
7
21
35
35
21
7
1
1
8
28
56
70
56
28
8
1
1
9
36
84
126
126
84
36
9
1
答案:#includeinta[10][10];intmain(){
inti=0,j=0;
for(i=0;i<10;i++)
{
for(j=0;j输入五个国家的名字并按字母顺序排出。(国家的名字不超过20个字符)输入格式:输出格式:输入样例:ChinaJapanCanadaAmericaEngland输出样例:AmericaCanadaChinaEnglandJapan
答案:#include
intmain(){
charst[20],cs[5][20];
inti,j,p;
printf("inputcountry'sname:\n");
for(i=0;i<5;i++)
gets(cs[i]);
printf("\n");
for(i=0;i<5;i++)
{
p=i;
strcpy(st,cs[i]);
for(j=i+1;j<5;j++)
if(strcmp(cs[j],st)<0)
{
p=j;
strcpy(st,cs[j]);
}
if(p!=i)
{
strcpy(st,cs[i]);
strcpy(cs[i],cs[p]);
strcpy(cs[p],st);
}
puts(cs[i]);
}
printf("\n");}输入一个字符串,判断是否为回文串。注:回文是指数或者字符串具有首尾回环性质,从后向前按位颠倒后与原文一样。首尾回环的数字就是回文数,如:121,12321;首尾回环的字符串就是回文串,如:madam。输入格式:输出格式:
printf("Itisapalindrome\n");
printf("Itisnotapalindrome\n");输入样例:ILoveevoLI输出样例:
Itisapalindrome
答案:#include#include
intmain(){
intcount,i;
charstr[80];
printf("Enterastring:");
i=0;
while((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0,count=strlen(str)-1;i<count;i++,count--)
if(str[i]!=str[count])
break;
if(i>=count)
printf("Itisapalindrome\n");
else
printf("Itisnotapalindrome\n");
return0;}有两个数组a和b,各有6个元素,将它们对应逐个比较(即a[i]与b[i]比较)。如果a[i]大于b[i]的次数多于a[i]小于b[i]的次数,那么认为数组a大于数组b,如果a[i]小于b[i]的次数多于a[i]大于b[i]的次数,认为数组a小于数组b,否则数组a与数组b相等。编写程序,统计出a[i]大于b[i]、a[i]小于b[i]、a[i]等于b[i]的次数,并判断哪个数组大。(数组中的元素作为函数实参,例如:large(a[i],b[i]))输入格式:
“%d”输出格式:"%d"输入样例:147258123951输出样例:a[i]>b[i]3timesa[i]=b[i]2timesa[i]答案:#includevoidmain(){
intlarge(intx,inty);
inta[6],b[6],i,n=0,m=0,k=0;
printf("enterarraya:\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
printf("enterarrayb:\n");
for(i=0;i<6;i++)
scanf("%d",&b[i]);
for(i=0;i<6;i++)
{
if(large(a[i],b[i])==1)
n=n+1;
else
if(large(a[i],b[i])==0)
m=m+1;
else
k=k+1;
}
printf("a[i]>b[i]%dtimes\na[i]=b[i]%dtimes\na[i]k)
printf("arrayaislargerthanarrayb\n");
else
if(ny)
flag=1;
else
if(x有一个一维数组,内放10个学生成绩,写一个函数,求出平均分,最高分和最低分。要求:由于要调用函数得到三个结果值,除了可以从函数得到一个函数的返回值,可以用全局变量。本题要求使用全局变量的方法。输入格式:scanf(“%f”,&score[i]);输出格式:printf(“max=%6.2f\nmin=%6.2f\naverage=%6.2f\n”,Max,Min,ave);输入样例:
9945789710067.589926643输出样例:Max=100.00Min=43.00Average=77.65
答案:#includefloatMax=0,Min=0;voidmain(){
floataverage(floatarray[],intn);
floatave,score[10];
inti;
for(i=0;i<10;i++)
scanf("%f",&score[i]);
ave=average(score,10);
printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);}
floataverage(floatarray[],intn){
inti;
floataver,sum=array[0];
Max=Min=array[0];
for(i=1;i<n;i++)
{
if(array[i]>Max)
Max=array[i];
elseif(array[i]<Min)
Min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return(aver);}输入一个正整数n,输出1!~n!的值。要求:定义并调用含有静态变量的函数fact(n)计算n!。输入格式:
“%d”输出格式:
“%3d!=%4ld\n”输入样例:
Entern:6输出样例:
1!=
1
2!=
2
3!=
6
4!=
24
5!=120
6!=720
答案:#includelongfact(intn);intmain(){
intn,i;
printf("Entern:");
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("%3d!=%4ld\n",i,fact(i));
return0;}longfact(intn){
staticlongf=1;
f=f*n;
returnf;}计算s=(2^2)!+(3^2)!要求:该题要求使用函数的嵌套调用。编写两个函数:函数fun1用来计算平方值,fun2用来计算阶乘值。主函数先调用fun1计算出平方值,再在fun1中以平方值为实参,调用fun2计算其阶乘值,然后返回到fun1,再返回主函数,在循环程序中计算累加和。输入格式:输出格式:printf(“\ns=%ld\n”,s)输入样例:输出样例:
s=362904
答案:#include
longfun1(intp){
intk;longr;
longfun2(int);
k=p*p;
r=fun2(k);
returnr;}
longfun2(intq){
longc=1;inti;
for(i=1;i<=q;i++)
c=c*i;
returnc;}
voidmain(){
inti;longs=0;
for(i=2;i<=3;i++)
s=s+fun1(i);
printf("\ns=%ld\n",s);}编写一个子函数,在主函数中定义的字符串中找到第一个大写字母,并向主函数返回这个字母的地址,然后从这个被找到的大写字母开始输出这个字符串。要求:用返回指针的函数来解决问题。输入格式:
printf("inputastring:");
gets(str);输出格式:
puts("NoCapitalLetter");
puts(pos);输入样例:inputastring:findCapitalNumber输出样例:CapitalNumber
答案:#includechar*findfirstletter(char*s){
for(;*s!='\0';s++)
if(*s>='A'&&*s<='Z')
break;
returns;}intmain(){
charstr[81];
char*pos;
printf("inputastring:");
gets(str);
pos=findfirstletter(str);
if(*pos=='\0')
puts("NoCapitalLetter");
else
puts(pos);
return0;}有一个班,三个学生,各学四门课,计算总平均分数以及第n个学生的成绩。要求:用3*4的二维数组存取三个学生四门课的成绩,输入格式如下所示(成绩情况如输入样例所示),并采用指针的办法解决问题。输入格式:
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};输出格式:
printf("average=%5.2f\n",aver);
printf("%5.2f",*(*(p+n)+i));输入样例:
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};输出样例:average=82.25thescoreofNo.2are:90.0099.00100.0098.00
答案:#includevoidmain(){
voidaverage(float*p,intn);
voidsearch(float(*p)[4],intn);
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
average(*score,12);
search(score,2);}
voidaverage(float*p,intn){
float*p_end;
floatsum=0,aver;
p_end=p+n-1;
for(;p<=p_end;p++)
sum=sum+(*p);
aver=sum/n;
printf("average=%5.2f\n",aver);}
voidsearch(float(*p)[4],intn){
inti;
printf("thescoreofNo.%dare:",n);
for(i=0;i<4;i++)
{
printf("%5.2f",*(*(p+n)+i));
printf("\n");
}}利用指针变量做函数参数求字符串中空格与逗号的个数。输入格式:直接定义或者从键盘输入都可char*str="thisis,atest";输出格式:
printf("iSpaceNumber=%d,iCommaNumber=%d",iSpaceNumber,iCommaNumber);输入样例:输出样例:iSpaceNumber=4,iCommaNumber=1
答案:#includevoidGetNumber(char*str,int*pSpaceNumber,int*pCommaNumber){
inti=0;
*pSpaceNumber=0;
*pCommaNumber=0;
while(str[i])
{
if(str[i]=='')
(*pSpaceNumber)++;
elseif(str[i]==',')
(*pCommaNumber)++;
i++;
}}intmain(intargc,char*argv[]){
char*str="thisis,atest";
intiSpaceNumber,iCommaNumber;
GetNumber(str,&iSpaceNumber,&iCommaNumber);
printf("iSpaceNumber=%d,iCommaNumber=%d",iSpaceNumber,iCommaNumber);
return0;}设有一个教师与学生通用的表格,教师数据有姓名、年龄、身份、教研室四项。学生数据有姓名、年龄、身份、班级四项,编程输入人员数据,再以表格输出。要求使用结构体和共用体结构编写。输入格式:
t表示教师,s表示学生输出格式:输入样例:inputname,age,jobanddepartmentWANG30tofficeZHAO20s33输出样例:name
age
jobClass/officeWANG
30
t
officeZHAO
20
s
33
答案:#includevoidmain(){
struct
{
charname[10];
intage;
charjob;
union
{
intClass;
charoffice[10];
}depa;
}body[2];
inti;
printf("inputname,age,jobanddepartment\n");
for(i=0;i<2;i++)
{
scanf("%s%d%c",body[i].name,&body[i].age,&body[i].job);
if(body[i].job=='s')
scanf("%d",&body[i].depa.Class);
elsescanf("%s",body[i].depa.office);
}
printf("name\tagejobClass/office\n");
for(i=0;i<2;i++)
{
if(body[i].job=='s')
printf("%s\t%3d%3c%5d\n",body[i].name,body[i].age,body[i].job,body[i].depa.Class);
elseprintf("%s\t%3d%3c%10s\n",body[i].name,body[i].age,body[i].job,body[i].depa.office);
}}计算一组学生的平均成绩和不及格人数。要求使用结构体指针变量做函数参数编程。输入格式:输出格式:printf("average=%f\ncount=%d\n",avers,c);输入样例:{{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chenling",'F',87}}输出样例:average=71.750000count=1
答案:#includestructstudent{
intnum;
charname[20];
charsex;
floatscore;}stu[]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chenling",'F',87}};voidmain(){
structstudent*ps;
voidaver(structstudent*ps);
ps=stu;
aver(ps);}voidaver(structstudent*ps){
intc=0,i;
floatavers,total=0;
for(i=0;i<4;i++,ps++)
{
total+=ps->score;
if(ps->score<60)
c+=1;
}
avers=total/4;
printf("average=%f\ncount=%d\n",avers,c);}从练习一创建的文件中读取学生信息,统计文件中的学生数,计算学生的平均成绩,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025项目法律服务合同
- 2023八年级英语下册 Unit 4 Why don't you talk to your parents Section A 第1课时(1a-2d)说课稿 (新版)人教新目标版
- 7多元文化 多样魅力《多彩的世界文化》(说课稿)-统编版道德与法治六年级下册
- 2025合同模板承包合同书(车辆)范本
- 2025中外合资公司劳动合同协议书
- 直饮水施工方案
- 食堂餐厅售卖设备施工方案
- 2024年春七年级语文下册 第4单元 13 叶圣陶先生二三事说课稿 新人教版
- 《1 信息并不神秘》说课稿-2023-2024学年华中师大版信息技术三年级上册
- Unit 2 Expressing yourself Part A Lets spell(说课稿)-2024-2025学年人教PEP版(2024)英语三年级下册001
- SWITCH塞尔达传说旷野之息-1.6金手指127项修改使用说明教程
- 2022-2023学年广东省佛山市顺德区高三(下)模拟英语试卷
- 节后复工培训内容五篇
- GB/T 33322-2016橡胶增塑剂芳香基矿物油
- GA 1051-2013枪支弹药专用保险柜
- 某水毁公路维修工程施工方案
- 家庭病房工作制度和人员职责
- 建设工程监理合同示范文本GF-2018-0202
- 2022质检年终工作总结5篇
- 江苏省中等职业学校学业水平考试商务营销类(营销方向)技能考试测试题
- 国际商务谈判双语版课件(完整版)
评论
0/150
提交评论