#include <stdio.h>
#include <stdlib.h>
int odd(int num); //对num第二位进行判断奇偶性,是奇数则返回1偶数返回0
int invert_num(int num); //用于对偶数进行数字转换
int main()
{
int num;
int i;
do
{
printf("请输入介于1000~9999之间的四位数:");
scanf("%d",&num);
}while((num < 1000)||(num > 9999));
if( odd(num))
{
printf("该数字的第二位是奇数,该数字是:%d\n",num);
}
else
{
printf("该数字的第二位是偶数,转换后为:%d\n",invert_num(num));
}
system("pause");
return 0;
}
int odd(int num)
{
int num_two = 0;
num_two = ( num / 10 ) % 10; //取得第二位的数字
if( (num_two % 2) == 0 )
{
return 0; //表明是偶数
}
else
return 1;
}
int invert_num(int num)
{
int a;
a = (num % 10) * 1000 + (num / 10) % 10 * 100 + (num /100) % 10 *10 + (num /1000) % 10 * 1;
return a;
}
本题主要涉及的知识点包括:输入输出语句,数组的定义及各元素遍历;条件判断语句的使用;求模运算符。
参考程序如下:
C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
主要考察你c语言三目运算符的结合方向 是自右向左的 所以a<b?a:c<d?c:d 可以看成 a<b?a: (c<d?c:d) 1 < 4 ? a : (c < d ? c:d)括号内的表达式也可以看做是一个元素 因为 a = 1 b = 4 所以 条件 a < b 成立 所以选前者 a 答案就是 A) 1 ...
C语言小白求助···
include <stdio.h>int main(){int a[3][3];int i = 0, j = 0, num = 1;for(;i < 3;i++){for(;j < 3;j++){a[i][j] = num;++num;}}\/\/对角线我随便选一个,比如是左上到右下的int result = a[0][0] + a[1][1] + a[2][2];printf("%d",result);return ...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下。
题中,a=3 ,二进制为:0011;b=6,二进制值为:0110。所以(a^b)按位异或后的值为0101也就是5,左移两位后值(二进制)为:010100 也就是 :20
小白请教一道C语言的题
答案确实为C switch结构中,只有运行到break才会退出。当n%4=1时,出现开始匹配case1,但是没有遇到break,就继续执行,知道遇到case4的break才退出。当n%4=2时一样。当n%4=3时,匹配case3,然后遇到case4的break退出。。。以此思路继续分析即可 ...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项 第一项的结果不正确。第二项和第四项结果等同都是指向指针的指针操作。可以将二维数组看成一个双重指针,第一个中括号是一个一重指针。比如说a[n][m]中a[0]是一个指向a[0][m]数组首位a[0][0]的指针,而a则是指向指针数组*a[n]的首位a[0]的指针。这样我们来看B选项,*(a+2)...
C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
x<<=3:把x的二进制位向左移动3位 因为x=1,所以 x的二进制为:0000 0001 向左移动3位后为:0000 1000 0000 1000转为10进制位:2^3 = 8 所以,选:D
c语言问题,小白求救,问题是要求sinx=x-x^3\/3!+x^5\/5!...直到sinx的累加...
void main(){ int i,jc,a;double x,sinx,xiang;printf("输入弧度值x:");scanf("%lf",&x);printf("sin(%.2f)",x);sinx=0;for(a=1,jc=1,i=1;;i++){ jc=jc*i;if(i%2!=0){ xiang=a*pow(x,i)\/jc;sinx=sinx+xiang;a=-a;} if(xiang<0.000001) break;} printf("=%...
小白求解1>F:\\dy\\dy.c(12,2): error C2146: 语法错误: 缺少“;”(在...
你的C语言程序,在提示输入语句printf函数末尾都缺少英文分号 完整的C语言程序如下(改动的地方见注释)include <stdio.h> int main(){ int num1;int num2;int num3;int num4;printf("请输入第一个整数;");\/\/这里末尾加分号 scanf_s ("%d", &num1);printf("请输入第二个整数;");\/\/这里...
c语言,小白求解
在表达式后面加一个分号“;”就构成了表达式语句。这里提供的四个选项,A不是是合法的语句(少了分号)。++j也是一个表达式,++j;也是一个表达式语句。A)a=1,b=2 逗号表达式,加了分号就是语句 B)++j;C)a=b=5;D)y=(a=3,6*5);...
C语言小白求问。如何读取字符串文件,并根据不同长度的单词统计总共出现...
一、遍历字符串,通过分割符号空格及标点符号获取单词数组。二、大小写转换,把数组单词全部转换为大写或者小写(识别同一个单词不同大小写)。三、遍历单词数组,累加统计每个单词数量。(可遍历到第一个单词作为当前统计对象,之后每遍历到相同单词,就将对应变量计数+1,并将该单词字符串置0)。思路:...