一个圆半径为R,如图圆柱底面半径高为H,求圆面积周长,球体积表面积,如图圆柱底面半径体积,程序在eclipse运行无没反应

C语言初学者:编程序:设圆半径r圆柱高h,求圆周长面积圆柱体积圆球表面积_百度知道
C语言初学者:编程序:设圆半径r圆柱高h,求圆周长面积圆柱体积圆球表面积
我有更好的答案
perimeterArea(double&&PI&roundArea(r));&pow(r;圆周长面积&,&:&%f\n&,&=&5;&&&&printf(&#include&h));roundArea(double&}int&*&r&&r&=&cylindricalVolume(double&/*&double&&*/{&&&&return&PI&*&return&2&*&&nbsp,&main(){&&&&int&&/*&&h)&nbsp:&int&h&&&:&%f\n&;&3;r)&double&*&h;}double&&&&*&pow(r,&2);&math.h&return&&r;*&h;}double&%f\n&quot,&r;&圆柱体积&&&#define&PI&3.1415926double&&0;&&PI&&nbsp#include&&stdio.h&&&圆球表面积&*/{&printf(&圆球表面积&return&nbsp,&2)&,&perimeterArea(r,&h));&&&&printf(&cylindricalVolume(r;圆周长面积&*/{&圆柱体积&&4&*&nbsp,&/*&h)&nbsp
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。圆半径为r=1.5圆柱高h=3求圆的周长,圆的面积,圆球表面积,圆球体积,用scanf函数_百度知道
圆半径为r=1.5圆柱高h=3求圆的周长,圆的面积,圆球表面积,圆球体积,用scanf函数
我有更好的答案
%;球体积&=&nbsp.2f&,v).14*r*r;v&nbsp,c);printf(&sv&=&%.2f&double&r,h,c,s,t,v,r;c&=&t&=&%;=&s*h;&printf(&=&(4/4*3;圆面积&=&printf(&球面积&2*3;printf(&圆柱体积&=&nbsp,t);printf(&=&3.14*r*r.14*r;s&nbsp,&h).2f&%f%f\n&=&%.2f&;周长&%;,s);sacnf(&3)*3.14*r*r*r.2f&,&amp
他说老师来了
来自:百度作业帮
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click
to find out more about this error.赞助商链接
当前位置: >>
大一c++课后习题答案
第四章 4.8 设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆 球体积、圆柱体积。用 scanf 输入数据,输出计算结果,输出时要求 有文字说明,取小数点后 2 位数字。#define P 3.1415926 #include &stdio.h& void main() {float h,r,l,s,sq,vq, printf(&请输入圆半径r,圆柱高h:&); scanf(&%f%f&,&r,&h); l=2.0*P*r; s=P*r*r; sq=4*P*r*r; vq=4.0/3.0*P*r*r*r; vz=P*r*r*h; printf(&圆周长为: l=%6.2f\n&,l); printf(&圆面积为: s=%6.2f\n&,s); printf(&圆球表面积为:sq=%6.2f\n&,sq); printf(&圆球体积为: vq=%6.2f\n&,vq); printf(&圆柱体积为: vz=%6.2f\n&,vz); } 运行结果: 请输入圆半径 r,圆柱高 h:1.5 3 圆周长为: l= 9.42 圆面积为: s= 7.07 圆球表面积为:sq= 28.27 圆球体积为: vq= 14.14 圆柱体积为: vz= 21.21Press any key to continue4.9 输入一个华氏温度,要求输出摄氏温度。公式为 c=5/9(F-32)输出 要有文字说明,取 2 位小数。#include &stdio.h& void main() {float c,f; printf(&请输入一个华氏温度:&); scanf(&%f&,&f); c=5.0/9.0*(f-32); printf(&摄氏温度为%5.2f\n&,c); } 运行结果:请输入一个华氏温度:20 摄氏温度为-6.67Press any key to continue 4.10 编程序,用 getchar 函数读入两个字符给 c1,c2,然后分别用 putchar 函数和 printf 函数输出这两个字符。思考以下问题: (1)变量 c1、c2 应定义为字符或整型?或二者皆可? (2)要求输出 c1 和 c2 值的 ASCII 码,应如何处理?用 putchar 函数 还是 printf 函数? (3)整形变量与字符变量是否在任何情况下都可以互相代替?如: char c1,c2;与 int c1,c2 是否无条件的等价? (1)#include &stdio.h& void main() { char c1,c2; printf(&请输入两个字符c1,c2:&); c1=getchar(); c2=getchar(); printf(&用putchar语句输出结果&); putchar(c1); putchar(c2); printf(&\n&); printf(&用printf语句输出结果&); printf(&%c%c\n&,c1,c2); } 运行结果: 请输入两个字符 c1,c2:as 用 putchar 语句输出结果 as 用 printf 语句输出结果 asPress any key to continue(2)#include &stdio.h& void main() { char c1,c2; printf(&请输入两个字符c1,c2:&); scanf(&%c%c&,&c1,&c2); c1=getchar(); c2=getchar(); printf(&按ASCII码输出结果为:\n&); printf(&%d,%d\n&,c1,c2); } 运行结果:请输入两字符 c1,c2:a,s 按 ASCII 码输出结果为: 97,115Press any key to continue (3) #include &stdio.h& void main() {int c1,c2; printf(&请输入两个整数c1,c2:&); scanf(&%d%d&,&c1,&c2); printf(&按字符输出结果:\n&); printf(&%c%c\n&,c1,c2); printf(&按ASCII码输出结果为:\n&); printf(&%c%c\n&,c1,c2); }运行结果:请入两个整数 c1,c2:97,98 按字符输出结果: a,b 按 ASCII 码输出结果为: 97,98Press any key to continue#include &stdio.h& void main() {char c1,c2; int a1,a2; printf(&请输入两个字符c1,c2:&); scanf(&%c%c &,&c1,&c2); a1=c1; a2=c2; printf(&按字符输出结果:\n&); printf(&%c%c\n&,a1,a2); printf(&按整数输出结果为:\n&); printf(&%d%d\n&,c1,c2); } 运行结果:请输入两个字符 c1,c2:ab 按字符输出结果: ab 按整数输出结果为: 9798Press any key to continue 第五章5.3 写出下列各逻辑表达式的值.设 a=3,b=4,c=5. (1)a+b&c&&b==c (2)a||b+c&&b-c (3)!(a&b)&&!c||1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2 解: (1)0; (2)1; (3)1; (4) 0; (5) 1; 5.5 有一个函数: x x&1y={2x-11≤x&103x-11 x≥10 写一段程序,输入 x,输出 y. 解: #include &stdio.h& void main() { int x,y; printf(&输入:x=&); scanf(&%d&,&x); if(x&1) y= else if(x&10) y=2*x-1; else y=3*x-11; printf(&输出:y=&); printf(&%d\n&,y); } 运行结果:输入:x=-1 输出:y=-1Press any key to continue 输入:x=5 输出:y=9Press any key to continue 输入:x=12 输出:y=25Press any key to continue5.6 给出一百分制成绩,要求输出成绩等级’A’、‘B’、 ‘C’ 、‘D’ 、‘E’。90 分以上为 A,80~89 分为 B,70~79 为 C,60~69 为 D,60 分以下为 E。 #include &stdio.h& void main() { printf(&请输入学生成绩:&); scanf(&%f&,&x); while(x&100||x&0) {printf(&输入错误,请重输:&); scanf(&%f&,&x); } if(100&x&90) printf(&相应等级是:A&); else if(x&80) printf(&相应等级是:B&); else if(x&70) printf(&相应等级是:C&); else if(x&60) printf(&相应等级是:D&); else printf(&相应等级是:E&); } 运行结果:请输入学生成绩:111 输入错误,请重输:88 相应等级是:BPress any key to continue5.7 给一个不多于 5 位的正整数,要求: 1.求出它是几位数;2.分别输出每一位数;3.按逆序输出各位数字,如原数为 321,应输出 123#include &stdio.h& #include &math.h& void main() { int ge,shi,bai,qian,wan, printf(&请输入一个整数(0~99999):&); scanf(&%ld&,&num); if(num&9999) place=5; else if(num&999) place=4; else if(num&99) place=3; else if(num&9) place=2; else place=1; printf(&位数=%d\n&,place); printf(&每位数字为:&); wan=num/10000; qian=(int)(num-wan*1; bai=(int)(num-wan*10000-qian*; shi=(int)(num-wan*10000-qian*1000-bai*100)/10; ge=(int)(num-wan*10000-qian*1000-bai*100-shi*10); switch(place) {case 5:printf(&%d,%d,%d,%d,%d&,wan,qian,bai,shi,ge); printf(&\n反序函数为:&); printf(&%d%d%d%d%d\n&,ge,shi,bai,qian,wan); case 4:printf(&%d,%d,%d,%d&,qian,bai,shi,ge); printf(&\n反序函数为:&); printf(&%d%d%d%d\n&,ge,shi,bai,qian); case 3:printf(&%d,%d,%d&,bai,shi,ge); printf(&\n反序函数为:&); printf(&%d%d%d\n&,ge,shi,bai); case 2:printf(&%d,%d&,shi,ge); printf(&\n反序函数为:&); printf(&%d%d\n&,ge,shi); case 1:printf(&%d&,ge); printf(&\n反序函数为:&); printf(&%d\n&,ge); } } 运行结果:请输入一个整数(0~9 位数=5 每位数字为:9,8,7,6,5 反序函数为:56789Press any key to continue第六章 6.2 输入一行字符,分别统计出其中英文字符、空格、数字和其他字符个数。 #include&stdio.h& void main() { int lettes=0,space=0,digit=0,other=0; while((c=getchar())!='\n') { if((c&='a'&&c&='z')||(c&='A'&&c&='Z')) lettes++; else if(c==' ') space++; else if(c&='0'&&c&='9') digit++; else other++; } printf(&字母数:%d\n空格数:%d\n数字数:%d\n其他字符 数:%d\n&,lettes,space,digit,other); } 运行结果: abc 123&& 字母数:3 空格数:1 数字数:3 其他字符数:2 Press any key to continue6.6 输入所有的“水仙花数” ,所谓“水仙花数”是指一个 3 位数,其各位数字立 方和等于该数本身。 #include&stdio.h& void main() { int i,j,k,n; printf(&narcissus numbers are&); for(n=100;n&1000;n++) { i=n/100; j=n/10-i*10; k=n-i*100-j*10; if(n==i*i*i+j*j*j+k*k*k) printf(&%d&,n); } printf(&\n&); } 运行结果: narcissus numbers are Press any key to continue6.7 一个数如果恰好等于它的因子之和,这个数就称为“完数” 。 #include&stdio.h& void main() { int n,s,i; for(n=2;n&1000;n++) {s=0; for(i=1;i&n;i++) if((n%i)==0) s=s+i; if(s==n) { printf(&%d,its factors are&,n); for(i=1;i&n;i++) if(n%i==0) printf(&%d,&,i); printf(&\n&); } } } 运行结果: 6,its factors are1,2,3, 28,its factors are1,2,4,7,14, 496,its factors are1,2,4,8,16,31,62,124,248, Press any key to continue6.4 求 1!+2!+3!+...+20! #include&stdio.h& void main() { float s=0,t=1; for(n=1;n&=20;n++) { t=t*n; s=s+t; } printf(&1!+2!+3!+...+20!=%e\n&,s); } 运行结果: 1!+2!+3!+...+20!=2.8 Press any key to continue 6.5 #include&stdio.h& void main() { int n1=100,n2=50,n3=10; float s1=0,s2=0,s3=0; for(k=1;k&=n1;k++) s1=s1+k; for(k=1;k&=n2;k++) s2=s2+k*k; for(k=1;k&=n3;k++) s3=s3+1/k; printf(&sum=%8.2f\n&,s1+s2+s3); } 运行结果: sum=47977.93 Press any key to continue第七章 7.2 用选择法对 10 个整数进行排序 #include &stdio.h& void main() { int a[11],i,j,k,x; printf(&enter data:\n&); for(i=1;i&11;i++) { printf(&a[%d]=&,i); scanf(&%d&,&a[i]); } printf(&\n&); printf(&\nThe oringinal numbers:\n&); for(i=1;i&11;i++) printf(&%5d &,a[i]); for(i=1;i&10;i++) { k=i; for(j=i+1;j&=10;j++) if(a[j]&a[k]) k=j; x=a[i]; a[i]=a[k]; a[k]=x; } printf(&\nThe sorted numbers:\n&); for(i=1;i&11;i++) printf(&%5d &,a[i]); printf(&\n&); } 运行结果: enter data: a[1]=1 a[2]=5 a[3]=44 a[4]=23 a[5]=15 a[6]=18 a[7]=14 a[8]=36 a[9]=34 a[10]=32The oringinal numbers: 1 5 44 23 15 18 14 36 34 32 The sorted numbers: 1 5 14 15 18 23 32 34 36 44 Press any key to continue 7.3 求一个 3*3 的整型矩阵对角线元素之和 #include &stdio.h& void main() { int a[3][3],sum=0; int i,j; printf(&enter data:\n&); for(i=0;i&3;i++) for(j=0;j&3;j++) scanf(&%d&,&a[i][j]); for(i=0;i&3;i++) sum=sum+a[i][i]; printf(&sum=%6d&,sum); } 运行结果: enter data:
sum= 8Press any key to continue 7.4 有一个已排序的数组,今输入一个数,要求按原来的排序规则将它插入数组 中 按升序排序 #include &stdio.h& void main() { int a[11]={1,2,3,4,5,50,60,70,80,100}; int n,i,j; printf(&array a:\n&); for(i=0;i&10;i++) printf(& %5d&,a[i]); printf(&\n&); printf(&intsert data:\n&); scanf(&%d&,&n); if(n&a[9]) a[10]=n; else { for(i=0;i&10;i++) if(a[i]&n) { for(j=9;j&=i;j--) a[j+1]=a[j]; a[i]=n; } } printf(&now array a:\n&); for(i=0;i&11;i++) printf(&%5d&,a[i]); } 运行结果: array a: 1 2 3 4 5 50 60 70 80 100 intsert data: 33 now array a: 1 2 3 4 5 33 50 60 70 80 100Press any key to continue 7.6 输出以下的杨辉三角形(要求输出 10 行) 1 11 121
........ ......... #include &stdio.h& #define n 11 void main() { int i,j,a[n][n]; for(i=1;i&n;i++) { a[i][1]=1; a[i][i]=1; } for(i=3;i&n;i++) for(j=2;j&=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i&n;i++) { for(j=1;j&=i;j++) printf(&%6d&,a[i][j]); printf(&\n&); } printf(&\n&); } 运行结果: 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 7 21 35 35 21 1 8 28 56 70 56 1 9 36 84 126 126 Press any key to continue1 7 28 841 8 361 91第八章 8.2 求方程 ax*x+bx+c=0 的梗,用 3 个函数分别求当 b*b-4ab 大于 0、 等于 0 和小于 0 时的根,并输出结果。从主函数输入 a,b,c 的值。 源代码:#include &stdio.h& #include &math.h& float disc,p,q,x1,x2; void main() { void greater_than_zero(float,float); void equal_to_zero(float,float); void smaller_than_zero(float,float); float a,b,c; printf(&\n输入 a,b,c:&); scanf(&%f,%f,%f&,&a,&b,&c); printf(&方程:%5.2f*x*x+%5.2f*x+%5.2f=0&,a,b,c); disc=b*b-4*a*c; printf(&\n结果:\n&); if(disc&0) { greater_than_zero(a,b); printf(&x1=%f\t\tx2=%f\n&,x1,x2); } else if(disc==0) { equal_to_zero(a,b); printf(&x1=%f\t\tx2=%f\n&,x1,x2); } else { smaller_than_zero(a,b); printf(&x1=%f+fi\tx2=%f-%fi\n&,p,q,p,q); } } void greater_than_zero(float a,float b) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); } void equal_to_zero(float a,float b) { x1=x2=(-b)/(2*a); } void smaller_than_zero(float a,float b) { p=-b/(2*a); q=sqrt(-disc)/(2*a); } 运行结果:输入 a,b,c:2,5,1 方程: 2.00*x*x+ 5.00*x+ 1.00=0 结果: x1=-0.=-2.280777 Press any key to continue 8.3 编写一个判素数的函数,在主函数输入一个整数,输出是否素数 的信息。 源代码:#include &stdio.h& void main() { int prime(int); printf(&\n输入一个数:&); scanf(&%d&,&n); if(prime(n)) printf(&\n 是素数 \n&); else printf(&\n 不是素数\n&); } int prime(int n) { int flag=1,i; for(i=2;i&n/2 && flag==1;i++) if(n%i==0) flag=0; return(flag); } 运行结果: 输入一个数:47是素数 Press any key to continue 8.4 编写一个函数, 使给定的一个二维数组 (3*3) 转置, 即行列换行。 源代码#include &stdio.h& void main() { int i,j,t,s[3][3]; printf(&input s:\n&); for(i=0;i&3;i++) for(j=0;j&3;j++) scanf(&%d,%d&,&s[i][j]); for(i=0;i&3;i++) { for(j=0;j&3;j++) printf(&%5d&,s[i][j]); printf(&\n&); } for(i=0;i&3;i++) for(j=i+1;j&3;j++) { t=s[i][j]; s[i][j]=s[j][i]; s[j][i]=t; } for(i=0;i&3;i++) { for(j=0;j&3;j++) printf(&%5d&,s[i][j]); printf(&\n&); } } 运行结果: input s: 1 2 3 4 5 6 7 8 9 1 4 7 1 2 32 5 8 4 5 63 6 9 7 8 9Press any key to continue8.5 编写一个函数,输入一个字符串按反序存放,在主函数输入和输 出字符串源代码 #include &stdio.h& #include &string.h& void main() { void fx(char s[]); char s[100]; printf(&input strint:\n&); gets(s); fx(s); puts(s); } void fx(char s[]) { int i,j; for(i=0,j=strlen(s);i&(strlen(s)/2);i++,j--) { t=s[i]; s[i]=s[j-1]; s[j-1]=t; } } 运行结果:input strint: abcdefg gfedcba Press any key to continue第9章9.2 输入两个整数,求他们相除的余数。用带参数的宏来实现 源代码: #include &stdio.h& #define XCYS(a,b) ((a)%(b)) void main() { int a,b; printf(&输入两个整数a,b:&); scanf(&%d,%d&,&a,&b); printf(&他们相除的余数是%d\n&,XCYS(a,b)); } 运行结果: 输入两个整数 a,b:9,2 他们相除的余数是 1Press any key to continue 9.8 分别用函数和参数的宏,从 3 个数中找出最大数 (1)源代码: #include &stdio.h& void main() { int max(int x,int y); int a,b,c; printf(&输入3个整数a,b,c:&); scanf(&%d,%d,%d&,&a,&b,&c); printf(&MAX=%d\n&,max((a,b),c)); } max(int x,int y) { z=x&y? x: return(z); } 运行结果: 输入 3 个整数 a,b,c:2,4,7 MAX=7Press any key to continue (2)源代码: #include &stdio.h& #define MAX(a,b) ((a)&(b)?(a):(b)) void main() { int a,b,c; printf(&输入3个整数a,b,c:&); scanf(&%d,%d,%d&,&a,&b,&c); printf(&MAX=%d\n&,MAX(MAX(a,b),c)); } 运行结果: 输入 3 个整数 a,b,c:3,6,8 MAX=8Press any key to continue 10.3 输入 10 个整数,将其中最小的数与第一个数对换,把最大的数与最后的一 个数对换。编写 3 个函数: (1)输入 10 个数(2)进行处理(3)输出 10 个数 源程序: #include&stdio.h& void main() { void input(int *); void max_min_value(int *); void output(int *); int number[10]; input(number); max_min_value(number); output(number); } void input(int number[]) { printf(&输入 10 个数:&); for(i=0;i&10;i++) scanf(&%d&,&number[i]); } void max_min_value(int number[]) { int *max,*min,*p, max=min= for(p=number+1;p&number+10;p++) if(*p&*max) max=p; else if(*p&*min) min=p; temp=number[0];number[0]=**min= temp=number[9];number[9]=**max= } void output(int number[]) { int *p; printf(&输出: &); for(p=p&number+10;p++) printf(&%d &,*p); printf(&\n&); } 运行结果: (1) 输入 10 个数:22 1 9 5 2 3 6 4 7 8 输出: 1 8 9 5 2 3 6 4 7 22 Press any key to continue (2) 输入 10 个数:5 1 89 2 3 4 6 7 8 9 输出: 1 5 9 2 3 4 6 7 8 89 Press any key to continue 10.11 在主函数中输入 10 个等长的字符串。用另一个函数对它们进行排序。然 后在主函数输出这 10 个已排好序的字符串。 源程序: #include&stdio.h& #include&string.h& void main() { void sort(char (*p)[6]); char str[10][6]; char (*p)[6]; printf(&输入10个字符串\n&); for(i=0;i&10;i++) scanf(&%s&,str[i]); p= sort(p); printf(&排序号的字符串\n&); for(i=0;i&10;i++) printf(&%s\n&,str[i]); } void sort(char (*s)[6]) { int i,j; char temp[6],*t= for(i=0;i&9;i++) for(j=0;j&9-i;j++) if(strcmp(s[j],s[j+1])&0) { strcpy(t,s[j]); strcpy(s[j],s[+j+1]); strcpy(s[j+1],t); } } 运行结果: 输入10个字符串 aaaaa sssss ddddd eeeee qqqqq wwwww zzzzz ggggg hhhhh yyyyy 排序号的字符串 aaaaa ddddd eeeee ggggg hhhhh qqqqq sssss wwwww yyyyy zzzzzPress any key to continue 10.18 编写一个程序,打入月份号,输出该月的英文用名。 源代码: #include&stdio.h& void main() { char *month_name[13]={&illegal month&,&January&,&February&,&March&,&April&,&May&,&June&,&July&,&Augu st&,&September&,&October&,&November&,&December&}; printf(&input month:&); scanf(&%d&,&n); if((n&=12)&&(n&=1)) printf(&It is %s.\n&,*(month_name+n)); else printf(&It is wrong.\n&); }运行结果: (1) input month:2 It is February. Press any key to continue (2) input month:8 It is August. Press any key to continue #include&conio.h& #include&stdio.h& #define N 20 void fun(int *a,int m) { int i,n=0,*p; for(i=1,p=a;p&a+m;p++,i++) { n+=i; *p=n; } for(p=a;p&a+m;p++) printf(&%5d&,*p); } main() { int k=6; int b[N]; fun(b,k); }用函数指针变量作参数,求最大值、最小值和两数之和 #include &stdio.h& void main() { int a,b,max(int,int), min(int,int),add(int,int); void process(int,int,int (*fun)()); printf(&输入两个数:&); scanf(&%d,%d&,&a,&b); process(a,b,max); process(a,b,min); process(a,b,add); } void process(int x,int y,int (*fun)()) { result=(*fun)(x,y); printf(&%d\n&,result); } max(int x,int y) { printf(&max=&); return(x&y?x:y); } min(int x,int y) { printf(&min=&); return(x&y?x:y); } add(int x,int y) { printf(&sum=&); return(x+y); }用函数指针变量作参数,求两数之和,之差,之乘,之除 源代码: #include &stdio.h& void main() { int a,b,add(int,int),ajj(int,int),acc(int,int),ac(int,int); void process(int,int,int (*fun)()); printf(&输入两个数:&); scanf(&%d,%d&,&a,&b); process(a,b,add); process(a,b,ajj); process(a,b,acc); process(a,b,ac); } void process(int x,int y,int (*fun)()) { result=(*fun)(x,y); printf(&%d\n&,result); } add(int x,int y) { printf(&相加=&); return(x+y); } ajj(int x,int y) { printf(&相减=&); return(x-y); } acc(int x,int y) { printf(&相乘=&); return(x*y); } ac(int x,int y) { printf(&相除=&); return(x/y); } 运行结果: 输入两个数:8,4 相加=12 相减=4 相乘=32 相除=2 Press any key to continue11.1 定义一个结构体变量(包括年月日) 。计算该日在本年中第几天?注意闰年 问题 源代码: #include&stdio.h& struct { } void main() { int i, int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf(&输入年月日:&); scanf(&%d,%d,%d&,&date.year,&date.month,&date.day); days=0; for(i=1;i&date.i++) days=days+day_tab[i]; days=days+date. if((date.year%4==0 && date.year%100!=0 || date.year%400==0) && date.month&=3) days=days+1; printf(&输出结果:&); printf(&%d/%d is the %dth day in %d.\n&,date.month,date.day,days,date.year); } 运行结果: (1) 输入年月日: 输出结果:10/1 is the 274th day in 2006. Press any key to continue (2) 输入年月日: 输出结果:5/26 is the 146th day in 2010. Press any key to continue11.3 编写一个函数 print,打印一个学生的成绩数组,该数组中有 5 个学生的数据 计录,每个记录包括score[3];用主函数记录这些数据,用 print 函数输 出这些记录 源代码: #include&stdio.h& #define N 5 struct student { char num[6]; char name[8]; int score[4]; }stu[N]; void main() { void print(struct student stu[6]); int i,j; for(i=0;i&N;i++) { printf(&\n 输入学生信息 %d:\n&,i+1); printf(&学号.:&); scanf(&%s&,stu[i].num); printf(&姓名:&); scanf(&%s&,stu[i].name); for(j=0;j&3;j++) { printf(&成绩 %d:&,j+1); scanf(&%d&,&stu[i].score[j]); } printf(&\n&); } printf(&输出结果&); print(stu); } void print(struct student stu[6]) { int i,j; printf(&\n 学号 姓名 成绩 1 成绩 2 for(i=0;i&N;i++) { printf(&%5s%10s&,stu[i].num,stu[i].name); for(j=0;j&3;j++) printf(&%9d&,stu[i].score[j]); printf(&\n&); } } 运行结果: 输入学生信息 1: 学号.:101 姓名:li 成绩 1:99 成绩 2:99 成绩 3:99成绩 3\n&);输入学生信息 2: 学号.:102 姓名:ma 成绩 1:85 成绩 2:85 成绩 3:85输入学生信息 3: 学号.:103 姓名:wu 成绩 1:90 成绩 2:90 成绩 3:90输入学生信息 4: 学号.:104 姓名:hu 成绩 1:80 成绩 2:80 成绩 3:80输入学生信息 5: 学号.:105 姓名:an 成绩 1:75 成绩 2:75 成绩 3:75 输出结果 学号 姓名 成绩 1 101 li 99 102 ma 85 103 wu 90 104 hu 80 105 an 75 Press any key to continue成绩 2 99 85 90 80 75成绩 3 99 85 90 80 75百钱买百鸡,鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;问鸡翁、母、雏各几何? 程序:#include&stdio.h& void main() { int x,y,z; for(x=0;x&=19;x++) for(y=0;y&=33;y++) {z=100-x-y; if(15*x+9*y+z==300) printf(&鸡翁=%d鸡母=%d鸡雏=%d\n&,x,y,z);} }运行结果: 鸡翁=0 鸡母=鸡雏=25 鸡翁=4 鸡母=鸡雏=18 鸡翁=8 鸡母=鸡雏=11 鸡翁=12 鸡母=鸡雏=4 Press any key to continue 1、 某班有 3 个学生,每个学生 3 门功课,输入成绩,计算每个学生的总分,平均分并输出 成绩。 程序:#include&stdio.h& void main() { int s[3][5],i,j; for(i=0;i&3;i++) for(j=0;j&3;j++) scanf(&%d&,&s[i][j]); printf(&数学 物理 for(i=0;i&3;i++) { s[i][3]=s[i][4]=0; for(j=0;j&3;j++) s[i][3]+=s[i][j]; s[i][4]=s[i][3]/3; } for(i=0;i&3;i++) { for(j=0;j&5 ;j++) printf(&%d\t&,s[i][j]); printf(&\n&); } }运行结果; 111 222 333 数学 物理 英语 1 1 1 2 2 2 3 3 3 Press any key to continue #include&stdio.h& void main() { int s[5],j;英语总分平均\n&);总分 3 6 9平均 1 2 3 for(j=0;j&3;j++) scanf(&%d&,&s[j]); { s[3]=s[4]=0; for(j=0;j&3;j++) s[3]+=s[j]; s[4]=s[3]/3; } printf(&数学\t 物理\t 英语\t 总分\t 平均\n&); { for(j=0;j&5;j++) printf(&%d\t&,s[j]); printf(&\n&); } } 运行结果; 111 数学 物理 英语 1 1 1 Press any key to continue 总分 3 平均 1做一个循环显示菜单,输入相应数值,会显示相应的文字。 菜单 ****************** 1 输入数据 2 计算 3 排序 4 输出 0 退出 ****************** 请输入你的选择(0~4) #include&stdio.h& void main() { int n=1; while(n!=0) { printf(&\t\t 菜单\n&); printf(&\t*******************\n&); printf(&\t 1.输入数据\n&); printf(&\t 2.计算\n&); printf(&\t 3.排序\n&); printf(&\t 4.输出\n&); printf(&\t 0.退出\n&); printf(&\t*******************\n&); printf(&\t 请输入你的选择(0~4) :&); scanf(&%d&,&n); switch(n) { case 1:printf(&输入数据\n&); case 2:printf(&计算\n&); case 3:printf(&排序\n&); case 4:printf(&输入\n&); case 0: default:printf(&error\n&); } } }#include&stdio.h& void main() { int n=1; printf(&\t\t菜单\n&); printf(&\t*******************\n&); printf(&\t 1.输入数据\n&); printf(&\t 2.计算\n&); printf(&\t 3.排序\n&); printf(&\t 4.输出\n&); printf(&\t 0.退出\n&); printf(&\t*******************\n&); printf(&\t请输入你的选择(0~4):&); scanf(&%d&,&n); if(n==0) printf(&输入数据\n&); else if(n==1) printf(&计算\n&); else if(n==2) printf(&排序\n&); else if(n==3) printf(&输入\n&); else printf(&退出\n&); }做一个循环显示菜单,输入相应数值,进行计算输出并会显示相应的文字。 菜单 ****************** 1 输入数据 2 计算 3 输出 0 退出 ****************** 源代码: (1)#include&stdio.h& void main() { int n=1; while(n!=0) { int s[3][5],i,j; printf(&\t\t菜单\n&); printf(&\t*******************\n&); printf(&\t 1.输入数据\n&); printf(&\t 2.进行计算\n&); printf(&\t 3.输出\n&); printf(&\t 0.退出\n&); printf(&\t*******************\n&); printf(&\t请输入你的选择(0~3):&); scanf(&%d&,&n); switch(n) { case 1:printf(&输入数据\n&); for(i=0;i&3;i++) for(j=0;j&3;j++) scanf(&%d&,&s[i][j]); case 2:printf(&计算\n&); for(i=0;i&3;i++) { s[i][3]=s[i][4]=0; for(j=0;j&3;j++) s[i][3]+=s[i][j]; s[i][4]=s[i][3]/3; }
case 3:printf(&输出结果\n&); printf(&数学 物理 英语 for(i=0;i&3;i++) { for(j=0;j&5 ;j++) printf(&%d\t&,s[i][j]); printf(&\n&); } case 0: default:printf(&error\n&); } } }总分平均\n&);运行结果: 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :1 输入数据 333 888 444 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :2 计算 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :3 输出结果 数学 物理 英语 总分 3 3 3 9 8 8 8 24 4 4 4 12 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :0 Press any key to continue (2) #include&stdio.h& #define M 4 void input(int s[][M+2]); void js(int s[][M+2]); void output(int s[][M+2]); void tc();平均 3 8 4void main() { int s[3][M+2],a=1; while(a!=0) { int s[3][6],i,j; printf(&\t\t 菜单\n&); printf(&\t*******************\n&); printf(&\t 1.输入数据\n&); printf(&\t 2.进行计算\n&); printf(&\t 3.输出\n&); printf(&\t 0.退出\n&); printf(&\t*******************\n&); printf(&\t 请输入你的选择(0~3) :&); scanf(&%d&,&a); switch(a) { case 1:input(s); case 2:js(s); case 3:output(s); case 0:tc(); } } } void input(int s[][M+2]) { int i,j; printf(&输入数据\n&); for(i=0;i&3;i++) for(j=0;j&M;j++) scanf(&%d&,&s[i][j]); } void js(int s[][M+2]) { int i,j; printf(&计算\n&); for(i=0;i&3;i++) { s[i][4]=s[i][M]=0; for(j=0;j&M;j++) s[i][4]+=s[i][j]; s[i][5]=s[i][4]/4; } } void output(int s[][M+2]) { int i,j; printf(&输出结果\n&); printf(&数学 物理 for(i=0;i&3;i++) { for(j=0;j&M+2;j++) printf(&%d\t&,s[i][j]); printf(&\n&); } }英语化学总分平均\n&); void tc() { printf(& 谢谢使用本程序 &); } 运行结果 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :1 输入数据 88 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :2 计算 菜单 ******************* 1.输入数据 2.进行计算 3.输出 0.退出 ******************* 请输入你的选择(0~3) :3 输出结果 数学 物理 英语 化学 总分 1 1 1 1 4 5 5 5 5 20 8 8 8 8 32 菜单 ******************* 1.输入数据 2.进行计算 3.输出平均 1 5 8 0.退出 ******************* 请输入你的选择(0~3) :0 谢谢使用本程序 Press any key to continue1.编译,链接 test.c,生成可执行文件 test. 2 在 DOS 状态下运行(test.exe 所在路径下)#include&stdio.h& void main(int argc,char *argv[]) { while(argc&1) { ++ printf(&%s\n&,*argv); -- } }运行结果: Microsoft Windows XP [版本 5.1.2600] (C) 版权所有
Microsoft Corp. C:\Documents and Settings\Administrator&dir 驱动器 C 中的卷没有标签。 卷的序列号是 6CC6-E923 C:\Documents and Settings\Administrator 的目录
13:51 13:51 13:48 13:42 13:48 13:42 13:48 13:51 13:50 13:50 13:51 13:50 14:45 &DIR& &DIR& . .. 130 1.c 3,339 1.dsp 25,600 1.ncb 48,640 1.opt 0 1.plg 130 a.c 3,339 a.dsp 25,600 a.ncb 721 a.plg Debug Favorites&DIR& &DIR&
14:51&DIR& &DIR&WINDOWS workspace 20:38 &DIR& 「开始」菜单
13:43 &DIR& 桌面 9 个文件 107,499 字节 8 个目录 11,133,218,816 可用字节 C:\Documents and Settings\Administrator&cd debug C:\Documents and Settings\Administrator\Debug&dir 驱动器 C 中的卷没有标签。 卷的序列号是 6CC6-E923 C:\Documents and Settings\Administrator\Debug 的目录
13:50 13:50 13:39 13:51 13:51 13:51 13:50 13:51 13:51 13:51 &DIR& &DIR& . .. 175,484 1.pch 155,716 a.exe 160,536 a.ilk 2,171 a.obj 175,484 a.pch 394,240 a.pdb 33,792 vc60.idb 45,056 vc60.pdb8 个文件 1,142,479 字节 2 个目录 11,133,218,816 可用字节 C:\Documents and Settings\Administrator\Debug&a hello world! hello world! C:\Documents and Settings\Administrator\Debug&将 5×5 矩阵,调用 3 个函数(1)输入数据(2)计算每一行的和并放到一维数组中(3)将 和从高到低排序(4)在主函数中输出排序结果#include&stdio.h& void input(int a[5][5]); void sum(int a[5][5],int b[5]); void px(int b[5]); void main() { int a[5][5],b[5],i; printf(&input:\n&); input(a); sum(a,b); px(b); for(i=0;i&5;i++) printf(&%d\t&,b[i]); printf(&\n&); } void input(int a[5][5]) { int i,j; for(i=0;i&5;i++) for(j=0;j&5;j++) scanf(&%d&,&a[i][j]); } void sum(int a[5][5],int b[5]) { int i,j; for(i=0;i&5;i++) { b[i]=0; for(j=0;j&5;j++) b[i]+=a[i][j]; } } void px(int b[5]) { int i,j,k,x; for(i=0;i&5;i++) { k=i; for(j=i+1;j&5;j++) if(b[j]&b[k]) k=j; if(k!=i) { x=b[i];b[i]=b[k];b[k]=x; } } } 运行结果:input:
15105Press any key to continue11.5 有 10 个学生,每个学生的数据包括学号、姓名、3 门课程的成绩,从键 盘输入 10 个学生数据,要求输出 3 门课程总平均成绩,以及最高分的学生的数 据(包括学号、姓名、3 门课程成绩、平均分数) 。 源程序: 源程序: #include&stdio.h& #define N 10 struct student { char num[6]; char name[20]; float score[3]; }stu[N];void main() { int i,j, float sum,max, for(i=0;i&N;i++) { printf(&输入学生数据%d\n&,i+1); printf(&学号:&); scanf(&%s&,stu[i].num); printf(&姓名:&); scanf(&%s&,stu[i].name); for(j=0;j&3;j++) { printf(&成绩%d:&,j+1); scanf(&%f&,&stu[i].score[j]); } } average=0;max=0;maxi=0; for(i=0;i&N;i++) { sum=0; for(j=0;j&3;j++) sum+=stu[i].score[j]; stu[i].avr=sum/3.0; if(sum&max) { max= maxi=i; } } average/=N; printf(& 学号 姓名 第1门成绩 第2门成绩 第3门成绩 均分\n&); for(i=0;i&N;i++) { printf(&%5s%10s&,stu[i].num,stu[i].name); for(j=0;j&3;j++) printf(&%9.2f&,stu[i].score[j]); printf(& %8.2f\n&,stu[i].avr); } printf(&最高分学生信息:\n学号:%s,姓 名:%s\n&,stu[maxi].num,stu[maxi].name); printf(&学科成绩:\n第一门成绩:%6.2f\n第二门成绩:%6.2f\n 第三门成绩:%6.2f\n平均分:%5.2f\n&, stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi ].avr); } 运行结果: 输入学生数据 1 学号:101 姓名:li 成绩 1:100 成绩 2:100 成绩 3:100 输入学生数据 2 学号:102平 姓名:la 成绩 1:95 成绩 2:95 成绩 3:95 输入学生数据 3 学号:103 姓名:lp 成绩 1:90 成绩 2:90 成绩 3:90 输入学生数据 4 学号:104 姓名:ln 成绩 1:85 成绩 2:85 成绩 3:85 输入学生数据 5 学号:105 姓名:lc 成绩 1:80 成绩 2:80 成绩 3:80 输入学生数据 6 学号:106 姓名:lk 成绩 1:75 成绩 2:75 成绩 3:75 输入学生数据 7 学号:107 姓名:lj 成绩 1:70 成绩 2:70 成绩 3:70 输入学生数据 8 学号:108 姓名:lq 成绩 1:82 成绩 2:82 成绩 3:82 输入学生数据 9 学号:109 姓名:lo 成绩 1:96 成绩 2:96 成绩 3:96 输入学生数据 10 学号:110 姓名:ll 成绩 1:84 成绩 2:84 成绩 3:84 学号 姓名 第 1 门成绩 第 2 门成绩 第 3 门成绩 平均分 101 li 100.00 100.00 100.00 100.00 102 la 95.00 95.00 95.00 95.00 103 lp 90.00 90.00 90.00 90.00 104 ln 85.00 85.00 85.00 85.00 105 lc 80.00 80.00 80.00 80.00 106 lk 75.00 75.00 75.00 75.00 107 lj 70.00 70.00 70.00 70.00 108 lq 82.00 82.00 82.00 82.00 109 lo 96.00 96.00 96.00 96.00 110 ll 84.00 84.00 84.00 84.00 最高分学生信息: 学号:101,姓名:li 学科成绩: 第一门成绩:100.00 第二门成绩:100.00 第三门成绩:100.00 平均分:100.00 Press any key to continue指针做法#include&stdio.h& #define N 3 struct student { char num[6]; char name[8]; float score[3]; }stu[N]; void input_js(struct student *p); void output(struct student *p); void main() { input_js(stu); output(stu); } void output(struct student *p) { int i,j; printf(& NO. name score1 for(i=0;i&N;i++) for(i=0;i&N;i++,p++) { printf(&%5s%10s&,p-&num,p-&name); for(j=0;j&3;j++) printf(&%9.2f&,p-&score[j]); printf(& %8.2f\n&,p-&avr); } } void input_js(struct student *p) {score2score3average\n&);int i,j, float sum,max, average=0; max=0; maxi=0; for(i=0;i&N;i++,p++) { printf(&input scores of student %d:\n&,i+1); printf(&NO:&); scanf(&%s&,p-&num); printf(&name:&); scanf(&%s&,p-&name); sum=0; for(j=0;j&3;j++) { printf(&score %d:&,j+1); scanf(&%f&,&p-&score[j]); sum+=p-&score[j]; } p-&avr=sum/3.0; average+=p-& if(sum&max) { max= maxi=i; } } average/=N; printf(&average= %5.2f\n&,average); printf(&The highest score is:student %s,%s.\n&,stu[maxi].num,stu[maxi].name); printf(&His score are: %6.2f,%6.2f,%6.2f,average:%5.2f.\n&,stu[maxi].score[0], stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr); }
赞助商链接
C++课后习题答案_计算机软件及应用_IT/计算机_专业资料。C++程序设计教程――陈建平 刘维富 葛建芳 编著 /*编写程序,根据输入的 x 的值,按下列公式计算并输出 y...C++课后习题参考答案_电脑基础知识_IT/计算机_专业资料。课后习题部分答案第2 章习题 2. 读程序,写出程序的执行结果 (1)若输入数据“12 345 634 3214”并按 En...谭浩强 c++ 程序设计 课后答案娄警卫 第一章 1.5 题 #include &iostream& int main() { cout&&&This&&&&is&; cout&&&a&&&&C++&...答案: 标准: C++国际标准 ISO/IEC 14882: 答案: 标准: 国际标准 :1998, , 常被称为 C++98、 、 标准 C++或 ANSI/ISO 或 C++;C++标准第二版(ISO/IEC ...(n&c) { if(n%c==0) { cout&&c&&&,&; n=n/c; } else {c++;} } cout&&n; cout&& return 0; } /*自守数是平方后尾数等于该数自身...C++课后习题答案_理学_高等教育_教育专区。第一章 1.5 题 #include &iostream& int main() { cout&&&This&&&&is&; cout&&&a&&&&...《C++程序设计》课后习题参考答案_理学_高等教育_教育专区。高等院校计算机基础教育规划教材《C++程序设计》 课后习题参考答案DD武汉大学出版社 习题 1 参考答案三、...《C++大学教程第五版》课后习题答案 (作者 DEITEL)_其它_高等教育_教育专区。本书是DEITEL编写的c++的课后答案。希望使用者,可以在自己做完后,在查看答案。 ---...C++课后习题答案(杨志强 龚沛增) 完整版_工学_高等教育_教育专区。杨志强版的课后答案,全部,复习的孩子们拿好 第一章 一、 选择题 C A B C A A C B ...输出格式要求:cout && &c1=& && c1 && -5- C++题库答案 cout && &c2=& && c2 && #include &iostream& int ...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 如图圆柱底面半径 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信