Press "Enter" to skip to content

Tag: c

C语言练习

为九九乘法表增加横纵标题

#include <stdio.h>
int main(void)
{
    int a;
    printf("    |");
    for(a=1;a<=9;a++){
        printf("%3d ",a);
    }
    putchar('\n');
    puts("----------------------------------------");

    int i,j;
    for(i=1;i<=9;i++){
        printf("%3d ",i);
        printf("|");
        for(j=1;j<=9;j++){
            int seki = i*j;
            printf("%3d ",seki);
        }
        putchar('\n');
    }

    return 0;
}

效果如下:

   |  1   2   3   4   5   6   7   8   9 
----------------------------------------
  1 |  1   2   3   4   5   6   7   8   9 
  2 |  2   4   6   8  10  12  14  16  18 
  3 |  3   6   9  12  15  18  21  24  27 
  4 |  4   8  12  16  20  24  28  32  36 
  5 |  5  10  15  20  25  30  35  40  45 
  6 |  6  12  18  24  30  36  42  48  54 
  7 |  7  14  21  28  35  42  49  56  63 
  8 |  8  16  24  32  40  48  56  64  72 
  9 |  9  18  27  36  45  54  63  72  81 

输入一个正整数,然后显示出该数目楼层金字塔。

#include <stdio.h>
int main(void)
{
    int i,j,n;
    printf("需要建设多少层的金字塔?"); scanf("%d",&n);

    for(i=1;i<=n;i++){
        int k;
        k=(i-1)*2+1;
        for(j=1;j<=(n-i);j++){
            printf(" ");
        }
        for(j=1;j<=k;j++){
            printf("*");
        }
        printf("\n");
    }
    return 0;
}

效果

需要建设多少层的金字塔?8
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

输入一个正整数,然后输出一个倒置的该数目层数金字塔。并且,第n行显示n%10的结果。

#include <stdio.h>
int main(void)
{
    int i,j,n,k,l;
    l=0;
    printf("金字塔有几层?");  scanf("%d",&n);
    for(i=n;i>=0;i--){
        for(j=0;j<=(n-i);j++){
            putchar(' ');
        }
        k=(i-1)*2+1;

        l++;
        for(j=0;j<k;j++){
            printf("%d",l%10);
        }
        putchar('\n');
    }
    return 0;
}

效果

金字塔有几层?10
 1111111111111111111
  22222222222222222
   333333333333333
    4444444444444
     55555555555
      666666666
       7777777
        88888
         999
          0

运行程序,计算机会随机生成一个iPhoneX 的价格 . iPhoneX 价格范围 8000 - 9000
用户输入一个10的整数倍的价格, 计算机会根据玩家输入的价格的提示价格低了或高了
如果用户输入价格正确会打印消息恭喜用户.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
    int price = 0;
    //guess 变量用于保存玩家输入的价格
    int guess;
    srand(time(0));
    price =8000+(rand()%100)*10; //生成一个8000-8990的价格
                                 //价格是10的整数倍
    printf("price = %d\n",price); //打印价格可以调试测试用
    //下面是要补充的业务代码,请同学们完成
    do{
    puts("猜猜看价格几何?");
    scanf("%d",&guess);  
    if(guess != price){
        if(guess>price){
            puts("猜高了!");
        }else{
            puts("猜低了!");
        }   
    }else{
        puts("Bingo!恭喜赢得大奖!");
        break;
    }
    }while(1);    
    return 0;
}

效果

 price = 8860
猜猜看价格几何?
8400
猜低了!
猜猜看价格几何?
9000
猜高了!
猜猜看价格几何?
9595
猜高了!
猜猜看价格几何?
2344
猜低了!
猜猜看价格几何?
8860
Bingo!恭喜赢得大奖!

编写程序实现从键盘上输入4个iPhoneX的价格(整型). 经过计算机(程序)处理后,打印输出 最低价格.

#include<stdio.h>
int main(){
    //准备好存放数据的变量
    int price1 = 0,price2 = 0,price3 = 0,price4 = 0;
    int min = 0;  //用来存放最低价格的变量
    //读入四个价格
    printf("输入一个价格:");     scanf("%d",&price1);
    printf("输入一个价格:");     scanf("%d",&price2);
    printf("输入一个价格:");      scanf("%d",&price3);
    printf("输入一个价格:");     scanf("%d",&price4);
    //请同学没在此处补充代码,
    //编码实现从4个价格中找出最低价格
    if(price1<=price2){
        min = price1;
    }
    else{
        min = price2;
    }   
    if(min>price3){
        min = price3;
    }   
    if(min>price4){
        min = price4;
    }
    //输出最低价格
    printf("最低价格是 %d\n",min);

    return 0;
}

C语言的练习

编写一段程序,显示身高和标准体重的对照表。显示的身高范围和间隔由输入的整数值进行控制,标准体重精确到小数点后两位。

#include <stdio.h>
int main(void)
{
    int start=1,end=1,step=1;
    double std=1.00;
    /*
     * start表示初始取值;end表示最终取值;
     * step表示步进;std表示标准体重值.
     * 身高体重换算公式是:
     * 标准体重=(身高-100)×0.9
    */
    puts("请输入身高的范围以及间隔数值(单位是cm):");
    puts("开始数值:");
    scanf("%d",&start);
    puts("结束数值:");
    scanf("%d",&end);
    puts("间隔数值:");
    scanf("%d",&step);

    puts("\n****身高体重对应表****\n");

    for(;start<=end;start += step){
        std = (double)(start-100)*0.9;
        printf("  %dcm  %.2fkg \n",start,std);
    }
    return 0;
}

运行结果如下

请输入身高的范围以及间隔数值(单位是cm):
开始数值:
155
结束数值:
190
间隔数值:
5

****身高体重对应表****

  155cm  49.50kg 
  160cm  54.00kg 
  165cm  58.50kg 
  170cm  63.00kg 
  175cm  67.50kg 
  180cm  72.00kg 
  185cm  76.50kg 
  190cm  81.00kg 

编写一个程序,像循环显示1234567890,显示的位数和输入的整数值相同。

#include <stdio.h>
int main(void)
{
    int i=1,n=1;
    puts("请输入一个正整数:");
    scanf("%d",&n);
    for(;i<=n;i++){
        printf("%d",i%10);
    }
    return 0;
}

显示效果如下:

请输入一个正整数:
25
1234567890123456789012345

编写一个程序,输入一个整数值,显示该整数值个"*".每显示5个就换行。

#include <stdio.h>
int main(void)
{
    int i=1,n=1,t=1;
    puts("请输入一个正整数:");
    scanf("%d",&n);

    for(;i<=n;i++){
        printf("*");
        t = t + 1;
        if(t==6){
            printf("\n");
            t = 1;
        }
    }
    return 0;
}

显示效果:

请输入一个正整数:
12
*****
*****
**

C编程练习

输入三个不同的整数,找出最小的整数。


#include <stdio.h>
int main(int argc, char **argv)
{
    int a=0,b=0,c=0,min=0;

    while(1){
        puts("输入三个整数:");
        printf("第一个整数A:\n");scanf("%d",&a);
        printf("第二个整数B:\n");scanf("%d",&b);
        printf("第三个整数C:\n");scanf("%d",&c);
        if(a==b || b==c || a==c ){
            puts("请不要输入重复的数字!");
        }
        else break; 
    }

    if(a>b){
        min = b;
        if(min>c){
            puts("最小的数字是C!");
        }
        else{
            puts("最小的数字是B!");
        }
    }
    else{
        min=a;
        if(min>c){
            puts("最小的数字是C!");
        }
        else{
            puts("最小的数字是A!");
        }
    }
    return 0;
}

输入四个整数,找出其中最大值。


#include <stdio.h>
int main()
{
    int a=0,b=0,c=0,d=0,e=0,f=0,g=0;

    puts("请输入四个整数:");
    printf("第一个整数A:");scanf("%d",&a);
    printf("第二个整数B:");scanf("%d",&b);
    printf("第三个整数C:");scanf("%d",&c);
    printf("第四个整数C:");scanf("%d",&d);

    e = (a>b)?a:b;
    f = (c>d)?c:d;
    g = (e>f)?e:f;

    printf("最大的数是:%d",g);
    return 0;
}

C编程练习1118

输入一个一到一百的正整数。判断该数是否和7有关系。关系是指7的倍数、数字里面有7.


#include <stdio.h>
int main(int argc, char **argv)
{
    int num;
    //puts("请输入一个正整数:");
    //scanf("%d",&num);

    for(num=1;num<101;num++)
        if(num%7==0 || num%10==7 || num/10==7){
            printf("数字%d和7有关系\n",num);
        }
        else{
            printf("数字%d和7没有关系\n",num);
        }   

    return 0;
}

假设北京出租车计算方式如下,前3公里为起步价13元,3公里以后每增加1公里加2元。 编程实现输入距离(正整数),输出出租车费用。


#include <stdio.h>
int main(int argc, char **argv)
{
    int distance;

    puts("请输入里程:");
    scanf("%d",&distance);

    if(distance<4){
        puts("请支付车费¥13元!");
    }
    else{
        printf("请支付车费¥%d元!\n",13+(distance-3)*2);
    }

    return 0;
}

计算地铁票价。
起步价6公里以内每人3元,6~12公里为4元,12~32公里为每公里加1元,32公里以上每公里加1元,且上不封顶。


#include <stdio.h>
int main(int argc, char **argv)
{
    int distance=0;
    puts("请输入单人单程里程数:");
    scanf("%d",&distance);

    if(distance<6){
        puts("请支付¥3元!");        
    }
    if(distance>5&&distance<12){
        puts("请支付¥4元!");
    }
    if(distance>11&&distance<32){
        printf("请支付¥%d元!\n",5+(distance-12)/10);
    }   
    if(distance>31){
        printf("请支付¥%d元!\n",5+2+(distance-32)/20);
    }   

    return 0;
}