1.输入一个球的半径,计算这个球的表面积和体积,输出计算结果
#include<stdio.h>
const float PI=3.1415926;
float mianji(float r){
float s;
s = 4*PI*r*r;
return s;
}
float tiji(float r){
float s;
s = 4*PI*r*r*r/3;
return s;
}
int main(){
float r,mianji_result,tiji_result;
printf("请输入球的半径\n");
scanf("%f",&r);
mianji_result= mianji(r);
tiji_result= tiji(r);
printf("球的面积为:%f\n",mianji_result);
printf("球的体积为:%f\n",tiji_result);
}
2.输入一个三角形的三条边长,判断这三条边能否构成直角三角形,输出计算结果
#include<stdio.h>
int main(){
printf("请输入三角形三条边长:");
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
if((a+b>c) && (a+c>b) && (b+c)>a){
if((a*a == b*b + c*c) || (b*b == a*a +c*c) || (c*c == a*a + b*b)) {
printf("可以构成直角三角形");
}else{
printf("不能构成直角三角形");
}
}
else {
printf("不能构成三角形");
}
return 0;
}
3.根据公式pi/4 = 1-1/3+1/5-1/7+1/9-1/11+…,计算pi的近似值,当最后一项的绝对值小于0.000001为止
注意别丢精度
#include<stdio.h>
#include<math.h>
int main(){
int m=1;
float f = 1.0f;
double sum=0;
while((f/m)>0.000001 || (f/m)<-0.000001){
sum = sum +f*1.0/m;
m = m+2;
f = -f;
}
printf("pi的近似值为:%f",sum*4);
}
4.键盘输入20个学生的姓名和总分,按总分从大到小的顺序输出这20个学生的姓名和总分
#include<stdio.h>
#include<stdlib.h>
#define n 3
//const int n=3;
struct student{
char name[10];
int score;
};
int main()
{
struct student a[n];
struct student buf;
int i,j;
for(i=0;i<n;i++)
{
scanf("%s%d",a[i].name,&a[i].score);
}
for(i=0;i<n;i++){
for(j=0;j<n-1-i;j++){
if(a[j].score<a[j+1].score){
buf = a[j];
a[j] = a[i+1];
a[i+1] = buf;
}
}
}
for(i=0;i<n;i++){
printf("%s\t%d\n",a[i].name,a[i].score);
}
return 0;
}
5.一个数只能被1和它本身整除的数叫素数。设计一个函数可以判断一个数是否是素数,并用此函数输出2到100以内的所有素数
#include<stdio.h>
int judge(int num){
int f=1;
for(int i=2;i<num;i++){
if(num%i==0){
f=0;
break;
}
}
return f;
}
int main(){
int i;
printf("输出2-1000之内的素数\n");
for(i=2;i<=1000;i++){
if(judge(i)==1){
printf("%d\n",i);
}
}
// return 0;
}
6.输入一个圆的半径r,输出这个圆的直径、周长、面积计算结果
#include<stdio.h>
#define pi 3.1415926
float diameter(float r) //直径
{
float diameter ;
diameter= 2*r;
return diameter;
}
float perimeter(float r) //周长
{
float perimeter;
perimeter = 2*pi*r;
return perimeter;
}
float area(float r) //面积
{
float area;
area = pi*r*r;
return area;
}
int main(){
printf("请输入一个圆的半径:");
float r,diameter_result,perimeter_result,area_result;
scanf("%f",&r);
diameter_result = diameter(r);
perimeter_result = perimeter(r);
area_result = area(r);
printf("直径为:%f",diameter_result);
printf("周长为:%f",perimeter_result);
printf("面积为:%f",area_result);
return 0;
}
7.判断输入的正整数是否既是5又是7的整倍数。如果是,输出“yes”;如果不是输出“no”
#include<stdio.h>
int main(){
int num;
printf("请输入一个正整数");
scanf("%d",&num);
while(num<=0){
printf("输入错误,重新输入一个正整数:\n");
scanf("%d",&num);
}
if(num%5==0 && num%7==0){
printf("yes");
}else{
printf("no");
}
return 0;
}
8.键盘输入一个正整数,计算1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)的值
#include<stdio.h>
int main(){
printf("请输入一个正整数:");
int num;
int i;
int j=1;
float sum=1;
scanf("%d",&num);
for(i=0;i<=num;i++){
j = j+i;
sum = sum+1.0/j;
}
printf("%f",sum);
return 0;
}
9.键盘输入一个4行3列的矩阵,输出这个矩阵以及它的转置矩阵
10.设计一个判别素数的函数,在主函数中输入两个正整数,判断这两数之和是否是素数
#include<stdio.h>
int panduan(int num){
int f=1;
int i;
for(i=2;i<num;i++){
if(num%i==0){
f=0;
break;
}
}
return f;
}
int main()
{
int m,n,sum;
printf("输入两个正整数:\n");
scanf("%d%d",&m,&n);
sum = m+n;
if(panduan(sum)==1){
printf("%d是素数",sum);
}else{
printf("%d不是素数",sum);
};
return 0;
}