>第 4 章 分支语句>if/else语句>习题

刘艳明 lonny_liu@hotmail.com
2009-04-02 00:24:19

宋老师,这两个对吗?

1、写两个表达式,分别取整数x的个位和十位

取整数x的个位:x%10
取整数x的十位:x%100/10

2、写一个函数,参数是整数x,功能是打印参数x的个位和十位
vord print_single_ten(int x)
{
    printf("Single digit = %d",x%10);
    printf("Ten digit = %d",x%100/10);
}


宋劲杉 songjinshan@akaedu.org
2009-04-05 09:47:17

没错啊


sunlick xxx@gmail.com
2009-06-01 17:29:13

#include <stdio.h>
void print_single_ten(int x)
{
    printf("Single digit = %d \n",x%10);
    printf("Ten digit = %d \n",x%100/10);
}

int main(void)
{
         print_single_ten(22);
}


码匠 code_smith@sohu.com
2009-09-01 20:43:12

取整数x的个位:x%10
取整数x的十位:x%100/10  or  x/10%10


anshuai san7710@163.com
2009-10-10 10:08:56

#include <stdio.h>
void print_single_ten(int x)
{
    printf("Single digit = %d \n",x%10);
    printf("Ten digit = %d \n",x/10);
}

int main(void)
{
         print_single_ten(22);
}


manxisuo manxisuo@gmail.com
2010-05-25 17:28:13

个位 x%10
十位 X/10


牛肉丸鸭爪 307293692@qq.com
2010-09-25 19:46:31

x % 10

取个位为余数。

x % 100 / 10

十位和个位为余数,取十位除以10。


x /10 % 10 

将十位变个位,取个位为余数。


周海涛 yj_zhou1981@126.com http://learn.akae.cn/akabook/ch04s02_2
2010-10-02 11:05:10

个人认为这道题不够严密,unsigned int x答案才是这样。如果只是整型变量,应该是abs(x)。当然讲到这个地方还没涉及到unsigned。


宋劲杉 songjinshan@gmail.com
2010-10-04 10:31:22

就算x是负的,讲到这里已经足够做这题了


陈旭 174046827@qq.com
2010-10-19 11:06:24

宋老师性情中人  C都写的这么给力啊  崇拜


Inf_Erno g.k.inf.erno@gmail.com
2010-10-23 02:37:34

宋老师你好,我的代码是:
#include <stdio.h>
int main(int n)
{
    int x, y;
    printf("请输入整数n的值:");
    scanf("%d", &n);
    x = n % 10;
    y = n % 100 / 10;
    printf("%d的个位是:%d, 十位是:%d.\n", n, x, y);
    return 0;
}
为什么有提示:
warning: ‘main’ takes only zero or two arguments


LI diyano@gmail.com
2011-01-12 12:48:42

void vecteur_int(int x)
{int i,j,k;
    i=(x%10);
    k=(x%100);
    if (i!=0)
    printf("%d's one is %d.\n",x,i);
    else
    printf("%d's one is 0.\n",x);
    if (k!=0)
    {if (k>0)
    j=((k-i)/10);
    if (k<0)
     j=-((k-i)/10);
    printf("%d's 10 is %d.\n",x,j);}
    else
    printf("%d's 10 is 0.\n",x);


xudonglee xudongleee@126.com
2011-01-19 19:37:45

#include <stdio.h>

void print_num(int x)
{
  while(x>100)
     x %= 100;
  printf("The first is %d.\t The second is %d.\n", (x/10), (x%10));
}

int main(void)
{
  int i, num;

  for(i = 0; ; i++)
  {
        scanf("%d", &num);
        print_num(num);
        if(num == 0)
          break;
  }
  return 0;
}


xudonglee xudongleee@126.com
2011-01-19 19:40:58

 至于楼上Inf_Erno g.k.inf.erno@gmail.com :
为什么有提示:
warning: ‘main’ takes only zero or two arguments

我觉得是因为main函数的形参为(int argc, char **argv)造成的吧,楼上int main(int n)
这样的话形参的个数只有一个;编译的提示信息非常有帮助!

请宋老师和各位同学指点,谢谢!


xiaokai tlikai@qq.com
2011-09-07 21:19:10

int n = 52;
十位:n / 10;
个位:n % 10;


如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!