C语言程序设计(第三版)习题库
1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 
#include <stdio.h>
main(){
float r,h,C1,Sa,Sb,Va,Vb; 
scanf(__%f__,&r);
scanf(%d,__&h_);
C1=2*3.14*r; 
Sa=3.14*r*r; 
Sb=4*Sa; 
border style设置边框样式的属性有哪些Va=4*3.14*r*r*r/3; 
Vb=Sa*h; 
printf(___Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f,Cl,Sa,Sb,Va,Vb);
}
2、输入一个华氏温度,要求输出摄氏温度。公式为  c=5(F-32)/9 
输出要求有文字说明,取位2小数。 
#include <stdio.h>
main(){
float F,c; 
scanf("%f",&F); 
____c=5*(F-32)/9______;
printf("c=%.2f",c); 
}
3、有一函数: 写一程序,输入x值,输出y值。 
#include <stdio.h> 
main(){
int x,y; 
printf("输入x"); 
scanf("%d",&x); 
if(x<1) {                /* x<1 */ 
y=x; 
printf("x=%3d,  y=x=%d\n",x,y); 
} else  if (____x<10_______){  /* 1≤x-10 */
_____y=2*x-1_______; 
printf("x=%3d,  y=2*x-1=%d\n",x,y); 
vlookup函数两张表匹配一组数据} else{                    /* x≥10 */ 
y=3*x-11; 
printf("x=%3d,  y=3*x-11=%d\n",x# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
    { y=x;}
else if(x>=1 && x<10)
    { y=2*x-1;}
else
    { y=3*x-11;}
printf("%d",y);
}# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
    { y=x;}
else if(x>=1 && x<10)
    { y=2*x-1;}
else
    { y=3*x-11;}
printf("%d\n",y);
}# include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
    { y=x;}
else if(x>=1 && x<10)
    { y=2*x-1;}
else
    { y=3*x-11;}
printf("%d",y);
}scanf("%d",&x);
if(x<1)
    { y=x;}
else if(x>=1 && x<10)
    { y=2*x-1;}
else
冒泡排序代码c语言    { y=3*x-11;} # include "stdio.h"
main()
{
int x,y;
scanf("%d",&x);
if(x<1)
    y=x;
else if(x>=1 && x<10)
    y=2*x-1;
else
    y=3*x-11;
printf("%d",y);
},y); 
}
4、给定一个不多于5位的正整数,要求:① 求它是几位数;②按逆序打印出各位数字。例如原数为321,应输出123。 
#include <stdio.h> 
main(){ 
long int num,m=0; 
  int  i=0;       
  scanf("%ld",&num); 
  while(num>0){
    i++;  /*统计长度*/
手机编辑json文件的软件m=m*10+num%10;
  num =num/10;
}
printf("数字长度为:%d",i);
printf("逆序数字为:%d\n",m);
5、以下程序实现的功能:求三个数的最大值
#include<stdio.h>
main(){
          int a,b,c,max;
        scanf("%d %d %d",&a,&b,&c);
        if(a>b){
            if(a>c)  max=a;
            else       max=c;
        } else{
            if(b>c)      max=b;
            else   
          max=c;
        }
        printf("max= %d",max);
}
#include <stdio.h> 
main(){
    int x,y,z,t=0;
    scanf("%d %d %d",&x,&y,&z);
    if(x>y)
    {t=y;y=x;x=t;}
    if(x>z)
    {t=z;z=x;x=t;}
    if(y>z)
    {t=z;z=y;y=t;}
    printf("%d\n",z);
}
6输入两个正整数m和n,求其最大公约数和最小公倍数。
/*枚举法*/
#include<stdio.h>
main(){ 
long m,n,i=1,j,s; 
scanf("%ld,%ld",&m,&n); 
sql语句不能创建的是for(;i<=m&&i<=n;i++){ 
if(m%i==0&&n%i==0) s=i;
if(m>=n)j=m
else j=n; 
for(;!(j%m==0&&j%n==0);j++); 
printf("s=%ld,j=%ld\n",s,j); 
getbytes()
#include <stdio.h> 
main(){
    int a,b,k,temp,i,p;
    scanf("%d,%d",&a,&b);
    if(a>b)
        temp=b;
    else
        temp=a;
    for(i=2;i<=temp;i++)
    {  if(a%i==0 && b%i==0)
            k=i;
    }
    printf("%d\n",k);
  p=a*b/k;
  printf("%d\n",p);
}
/*辗转相除*/
#include<stdio.h>
main(){
int m,n,k,j,p,r=1;
scanf("%d,%d",&m,&n);
k= m>n?m:n;
j= m>n? n:m;
do{
r=k%j;
  k=j;
j=r;
  }while(r!=0);
printf("%d,%d",k,m*n/k);
}
/*反复减法*/
#include<stdio.h>
main(){
int m,n,k,j,p,r=1;
scanf("%d,%d",&m,&n);
k= m>n? m:n;
j= m>n?n:m;
do{
p=k-j;
  if(j>p)k=jj=p;}
  else k=p;
  }while(p!=0);
printf("%d,%d",k,m*n/k);
}
7输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
#include"stdio.h" 
main(){ 
char c;int i=0,j=0,k=0,l=0; 
while((c=getchar())!=’\n’) { 
if(c>=A&&c<=Z||c>=a&&c<=z)
i++;  //英文字母统计
else if(c>=0&&c<=9)
j++;  //数字统计
else if(c==’ ’)
k++;  //空格统计
else l++;
printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l); 
8、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。
#include <stdio.h>
main(){
    int a,n; 
long b=0,sum=0;
    scanf(“%d %d”,&a,&n);
    for (i=1;i<=n;i++){
        b = b*10+a;
        sum =sum+b;
    }
  printf (“%ld”,sum);
}
9、打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=13+53+33。 
【程序1】
#include<stdio.h>
main(){
int i,m,n,k;
for(i=100;i<1000;i++){
m=__i%10__;
      n=_ i/10%10__;
      k=i/100;
      if(__m*m*m+n*n*n+k*k*k==i__)
          printf("%5d",i);
}
}
【程序2】
#include<stdio.h>
main(){
int i,a,n,s;
for (i=100;i<=999;i++){
    n=i;s=0;
    while(n>0) {
        a=__n%10__;
        s+=a*a*a;
        n /=__10__;
    }
    if (__s==i__)  printf(“%d”,i);
}
10、一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序出1000之内的所有完数,并按下面格式输出其因子:  6 its factors are 1、2、3 
#include <stdio.h>
main() {
  int a,i,m;
  for (a =1; a<=1000;a++) {
    for (__i=1,m=0__; i <= a/2;i++)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。