c语言网络教室第四章答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if((12+b+31)%7==5) printf("%d/2/13\n",a);
if((12+b+31+k)%7==5) printf("%d/3/13\n",a);
if((12+b+31+k+31)%7==5) printf("%d/4/13\n",a);
if((12+b+31+k+31+30)%7==5) printf("%d/5/13\n",a);
case'/':if(min!=0) printf("%d/%d=%d\n",max,min,max/min);
else printf("Error!\n");}break;}
}
}
ch=getchar();
else{if(ch==',')
{if(n>n0) max=n;else max=n0;
if(i<i0) min=i;else min=i0;
i0=min;n0=max;
i=0;n=0;}
else {switch(ch)
else printf("Error\n");
}
4-8. 求最大数和最小数的算数运算结果
成绩: 10 / 折扣: 0.8
输入若干个整数,及其要进行的算术运算(+|-|*|/)符号,输出最大整数与最小整数进行给定的算术运算的结果。输入的整数范围是(0~65535),输入等号作为输入的结束,输出格式见例题。
输入:整数序列及其运算序号
输出: 最大数与最小数的算术运算式
#include"stdio.h"
int main()
{char ch;
int n=0,max,min,i0,n0,i=n0=0;i0=100;ch=48;
while((ch=getchar())!='=')
{if(ch>='0'&&ch<='9') {n=10*n+ch-48;i=10*i+ch-48;}
if(a[i]<a[y]&&a[i]>a[min]) y=i;}
printf("%d,%d %d,%d\n",a[max],b[max],a[x],b[x]);
printf("%d,%d %d,%d\n",a[min],b[min],a[y],b[y]);
输出: n 行 n 列的正方形
#include"stdio.h"
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++) printf("*");
printf("\n");}
}
#include"stdio.h"
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{if(i==1||i==n)
{for(j=1;j<=n-i;j++) printf(" ");
for(j=1;j<=n+2*i-2;j++) printf("*");}
}
4-3. 求最大、次大、最小和次小值
成绩: 10 / 折扣: 0.8
输入 n 和 n 个整数及其序号 ( 如: 15 ,1 45 ,2 ... ) ,依次输出 n 个整数的最大值、次大值、最小值、次小值及其原始序号。
输入: n 和 n 个整数及其序号
输出: n 个整数的最大值、次大值、最小值、次小值及其原始序号
if((12+b+31+k+31+30+31+30+31+31)%7==5) printf("%d/9/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30)%7==5) printf("%d/10/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30+31)%7==5) printf("%d/11/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30+31+30)%7==5) printf("%d/12/13\n",a);}
}
成绩 <60 为 "no good"。
编写程序。输入若干个成绩,输出成绩和相应的等级。输入成绩为负时,程序结束,输入成绩大于100分,显示“input error”。
#include"stdio.h"
int main()
{int a;
do{scanf("%d",&a);
}
4-9. 黑色星期五
成绩: 10 / 折扣: 0.8
在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫 “ 黑色星期五 ” 。输入某年年号和该年的元旦是星期几( 1-7),输出该年所有的 “ 黑色星期五 ” 的日期(年 /月/日) 。
输入: 4位年号和该年元旦是星期几
输出: 所有的 “黑色星期五”的日期(年/月/日)
#include"stdio.h"
int main()
{int a,b,k;
scanf("%d %d",&a,&b);
if(a%100%4==0) k=29;
else k=28;
{if((12+b)%7==5) printf("%d/1/13\n",a);
输入一个整数 N , 要求以相反的顺序输出该数, 例如, N= -1234 ,输出 -4321 。
输入: 整数 N
输出: N 的反序数
#include"stdio.h"
int main()
{int N,M=0,L,i=1,k=1,j,a[100],b[100];
scanf("%d",&N);
if(a>=60&&a<70) printf("%d \"pass\"\n",a);
if(a>=0&&a<60) printf("%d \"no good\"\n",a);}
while(a>=0);
}
4-7. 输出星期几的英文表示
成绩: 10 / 折扣: 0.8
#include"stdio.h"
int main()
{int n,i,a[100],b[100],max,min,x,y;
scanf("%d\n",&n);
for(i=0;i<=n-1;i++) scanf("%d,%d",&a[i],&b[i]);
x=y=max=min=0;
if((12+b+31+k+31+30+31)%7==5) printf("%d/6/13\n",a);
if((12+b+31+k+31+30+31+30)%7==5) printf("%d/7/13\n",a);
if((12+b+31+k+31+30+31+30+31)%7==5) printf("%d/8/13\n",a);
else for(j=1;j<=2*n+i-2;j++)
{if(j==n-i+1||j==2*n+i-2) printf("*");
else printf(" ");}
printf("\n");}
}
Байду номын сангаас
4-2. 反序输出整数
成绩: 10 / 折扣: 0.8
{case'+':printf("%d+%d=%d\n",max,min,max+min);break;
case'-':printf("%d-%d=%d\n",max,min,max-min);break;
case'*':printf("%d*%d=%d\n",max,min,max*min);break;
if(a>100) printf("%d \"input error\"\n",a);
if(a>=90&&a<=100) printf("%d \"super\"\n",a);
if(a>=70&&a<80) printf("%d \"ok\"\n",a);
if(a>=80&&a<90) printf("%d \"good\"\n",a);
scanf("%d",&N);
while(N/k*2>=2)
{a[i]=N/k%2; k=2*k; i++;}
for(j=1;j<=17-i;j++) printf("0");
for(j=1;j<=i-1;j++) printf("%d",a[i-j]);
printf("\n");
c语言网络教室第四章答案
4-1 打印空心等腰梯形
成绩: 10 / 折扣: 0.8
输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的等腰梯形:
****
* *
* *
**********
输入: 高 n
输出: 高和上底均为 n 的等腰梯形
else if(n==3) printf("Wednesday\n");
else if(n==4) printf("Thursday\n");
else if(n==5) printf("Friday\n");
else if(n==6) printf("Saturday\n");
else if(n==7) printf("Sunday\n");
for(i=0;i<=n-1;i++) {if(a[i]>a[max]) max=i;
if(a[i]<a[min]) min=i;}
if(x==max) x=min; if(y==min) y=max;
for(i=0;i<=n-1;i++) {if(a[i]>a[x]&&a[i]<a[max]) x=i;
4-6. 学习成绩归类
成绩: 10 / 折扣: 0.8
学生的学习成绩是百分制,成绩的归类标准是:
90<= 成绩 <=100 为 "super";
80<= 成绩 <90 为 "good";
70<= 成绩 <80 为 "ok";
60<= 成绩 <70 为 "pass"
}
4-4. 10进制数转换为16位二进制数
成绩: 10 / 折扣: 0.8
将任一正整数(<32768)转换为 16 位二进制形式。
输入: 正整数
输出: 正整数的 16 位二进制数
#include"stdio.h"
int main()
{int N,i=1,k=1,j,a[16];
输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error(回车)"。
#include"stdio.h"
int main()
{int n;
scanf("%d",&n);
if(n==1) printf("Monday\n");
else if(n==2) printf("Tuesday\n");
}
4-5. 打印实心正方形
成绩: 10 / 折扣: 0.8
上次你已经打印了一行*号,这次在屏幕上输出一个由星号组成的 n 行 n 列的正方形。
程序输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的正方形:
****
****
****
****
输入: 高 n
if(N>=0) L=N;
else L=-N;
while(L/k*10>=10)
{a[i]=L/k%10; b[i]=k; k=10*k; i++;}
for(j=1;j<=i-1;j++) M=a[j]*b[i-j]+M;
if(N<0) M=-M;
printf("%d\n",M);
if((12+b+31+k)%7==5) printf("%d/3/13\n",a);
if((12+b+31+k+31)%7==5) printf("%d/4/13\n",a);
if((12+b+31+k+31+30)%7==5) printf("%d/5/13\n",a);
case'/':if(min!=0) printf("%d/%d=%d\n",max,min,max/min);
else printf("Error!\n");}break;}
}
}
ch=getchar();
else{if(ch==',')
{if(n>n0) max=n;else max=n0;
if(i<i0) min=i;else min=i0;
i0=min;n0=max;
i=0;n=0;}
else {switch(ch)
else printf("Error\n");
}
4-8. 求最大数和最小数的算数运算结果
成绩: 10 / 折扣: 0.8
输入若干个整数,及其要进行的算术运算(+|-|*|/)符号,输出最大整数与最小整数进行给定的算术运算的结果。输入的整数范围是(0~65535),输入等号作为输入的结束,输出格式见例题。
输入:整数序列及其运算序号
输出: 最大数与最小数的算术运算式
#include"stdio.h"
int main()
{char ch;
int n=0,max,min,i0,n0,i=n0=0;i0=100;ch=48;
while((ch=getchar())!='=')
{if(ch>='0'&&ch<='9') {n=10*n+ch-48;i=10*i+ch-48;}
if(a[i]<a[y]&&a[i]>a[min]) y=i;}
printf("%d,%d %d,%d\n",a[max],b[max],a[x],b[x]);
printf("%d,%d %d,%d\n",a[min],b[min],a[y],b[y]);
输出: n 行 n 列的正方形
#include"stdio.h"
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++) printf("*");
printf("\n");}
}
#include"stdio.h"
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{if(i==1||i==n)
{for(j=1;j<=n-i;j++) printf(" ");
for(j=1;j<=n+2*i-2;j++) printf("*");}
}
4-3. 求最大、次大、最小和次小值
成绩: 10 / 折扣: 0.8
输入 n 和 n 个整数及其序号 ( 如: 15 ,1 45 ,2 ... ) ,依次输出 n 个整数的最大值、次大值、最小值、次小值及其原始序号。
输入: n 和 n 个整数及其序号
输出: n 个整数的最大值、次大值、最小值、次小值及其原始序号
if((12+b+31+k+31+30+31+30+31+31)%7==5) printf("%d/9/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30)%7==5) printf("%d/10/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30+31)%7==5) printf("%d/11/13\n",a);
if((12+b+31+k+31+30+31+30+31+31+30+31+30)%7==5) printf("%d/12/13\n",a);}
}
成绩 <60 为 "no good"。
编写程序。输入若干个成绩,输出成绩和相应的等级。输入成绩为负时,程序结束,输入成绩大于100分,显示“input error”。
#include"stdio.h"
int main()
{int a;
do{scanf("%d",&a);
}
4-9. 黑色星期五
成绩: 10 / 折扣: 0.8
在西方,星期五和数字 13 都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫 “ 黑色星期五 ” 。输入某年年号和该年的元旦是星期几( 1-7),输出该年所有的 “ 黑色星期五 ” 的日期(年 /月/日) 。
输入: 4位年号和该年元旦是星期几
输出: 所有的 “黑色星期五”的日期(年/月/日)
#include"stdio.h"
int main()
{int a,b,k;
scanf("%d %d",&a,&b);
if(a%100%4==0) k=29;
else k=28;
{if((12+b)%7==5) printf("%d/1/13\n",a);
输入一个整数 N , 要求以相反的顺序输出该数, 例如, N= -1234 ,输出 -4321 。
输入: 整数 N
输出: N 的反序数
#include"stdio.h"
int main()
{int N,M=0,L,i=1,k=1,j,a[100],b[100];
scanf("%d",&N);
if(a>=60&&a<70) printf("%d \"pass\"\n",a);
if(a>=0&&a<60) printf("%d \"no good\"\n",a);}
while(a>=0);
}
4-7. 输出星期几的英文表示
成绩: 10 / 折扣: 0.8
#include"stdio.h"
int main()
{int n,i,a[100],b[100],max,min,x,y;
scanf("%d\n",&n);
for(i=0;i<=n-1;i++) scanf("%d,%d",&a[i],&b[i]);
x=y=max=min=0;
if((12+b+31+k+31+30+31)%7==5) printf("%d/6/13\n",a);
if((12+b+31+k+31+30+31+30)%7==5) printf("%d/7/13\n",a);
if((12+b+31+k+31+30+31+30+31)%7==5) printf("%d/8/13\n",a);
else for(j=1;j<=2*n+i-2;j++)
{if(j==n-i+1||j==2*n+i-2) printf("*");
else printf(" ");}
printf("\n");}
}
Байду номын сангаас
4-2. 反序输出整数
成绩: 10 / 折扣: 0.8
{case'+':printf("%d+%d=%d\n",max,min,max+min);break;
case'-':printf("%d-%d=%d\n",max,min,max-min);break;
case'*':printf("%d*%d=%d\n",max,min,max*min);break;
if(a>100) printf("%d \"input error\"\n",a);
if(a>=90&&a<=100) printf("%d \"super\"\n",a);
if(a>=70&&a<80) printf("%d \"ok\"\n",a);
if(a>=80&&a<90) printf("%d \"good\"\n",a);
scanf("%d",&N);
while(N/k*2>=2)
{a[i]=N/k%2; k=2*k; i++;}
for(j=1;j<=17-i;j++) printf("0");
for(j=1;j<=i-1;j++) printf("%d",a[i-j]);
printf("\n");
c语言网络教室第四章答案
4-1 打印空心等腰梯形
成绩: 10 / 折扣: 0.8
输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的等腰梯形:
****
* *
* *
**********
输入: 高 n
输出: 高和上底均为 n 的等腰梯形
else if(n==3) printf("Wednesday\n");
else if(n==4) printf("Thursday\n");
else if(n==5) printf("Friday\n");
else if(n==6) printf("Saturday\n");
else if(n==7) printf("Sunday\n");
for(i=0;i<=n-1;i++) {if(a[i]>a[max]) max=i;
if(a[i]<a[min]) min=i;}
if(x==max) x=min; if(y==min) y=max;
for(i=0;i<=n-1;i++) {if(a[i]>a[x]&&a[i]<a[max]) x=i;
4-6. 学习成绩归类
成绩: 10 / 折扣: 0.8
学生的学习成绩是百分制,成绩的归类标准是:
90<= 成绩 <=100 为 "super";
80<= 成绩 <90 为 "good";
70<= 成绩 <80 为 "ok";
60<= 成绩 <70 为 "pass"
}
4-4. 10进制数转换为16位二进制数
成绩: 10 / 折扣: 0.8
将任一正整数(<32768)转换为 16 位二进制形式。
输入: 正整数
输出: 正整数的 16 位二进制数
#include"stdio.h"
int main()
{int N,i=1,k=1,j,a[16];
输入用数字(1--7)表示的星期几,输出星期几的英文表示,输入的数字有误,输出单词"Error(回车)"。
#include"stdio.h"
int main()
{int n;
scanf("%d",&n);
if(n==1) printf("Monday\n");
else if(n==2) printf("Tuesday\n");
}
4-5. 打印实心正方形
成绩: 10 / 折扣: 0.8
上次你已经打印了一行*号,这次在屏幕上输出一个由星号组成的 n 行 n 列的正方形。
程序输入 n 值,输出如下例( n=4 )所示的高和上底均为 n 的正方形:
****
****
****
****
输入: 高 n
if(N>=0) L=N;
else L=-N;
while(L/k*10>=10)
{a[i]=L/k%10; b[i]=k; k=10*k; i++;}
for(j=1;j<=i-1;j++) M=a[j]*b[i-j]+M;
if(N<0) M=-M;
printf("%d\n",M);