宋老师,这两个对吗?
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);
}没错啊
#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);
}
取整数x的个位:x%10 取整数x的十位:x%100/10 or x/10%10
#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);
}个位 x%10 十位 X/10
x % 10 取个位为余数。 x % 100 / 10 十位和个位为余数,取十位除以10。 x /10 % 10 将十位变个位,取个位为余数。
个人认为这道题不够严密,unsigned int x答案才是这样。如果只是整型变量,应该是abs(x)。当然讲到这个地方还没涉及到unsigned。
就算x是负的,讲到这里已经足够做这题了
宋老师性情中人 C都写的这么给力啊 崇拜
宋老师你好,我的代码是:
#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 argumentsvoid 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);
#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;
}至于楼上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) 这样的话形参的个数只有一个;编译的提示信息非常有帮助! 请宋老师和各位同学指点,谢谢!
int n = 52; 十位:n / 10; 个位:n % 10;
如果您有建设性意见,哪怕只是纠正一个错别字,也请不吝赐教,您留下的姓名和email将会出现在本书前言的致谢中。再次感谢您的宝贵意见!