////排列
////////////////////////////////输入数字字符,使之拼成一个数,且输出的第一个数为各位依次类推如 12 -》21
/*
#include <stdio.h>
int main(void)
{
char c1, c2;
int x;
int i;
c1 = getchar();
c2 = getchar();
printf("%c%c\n", c2, c1); // 如只是简单输出
x = (c1 - '0') + (c2 - '0') * 10; // 转换成数值
printf("%d\n", x); // 输出数值
return 0;
}
*/
//////////////////////////////////////输入数字字符串,使得输入的数字第一个输入的排到最后一位,依次排列,最后一个输入的排到第一位
/*
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[1000] ,*p; //定义字符数组,字符指针变量
int c ; //c用来获取输入字符的个数
int j; // J用来计算循环次数
int i; // i用来内部循环数字调换
char temp; //temp用来存储c个字符中末尾的那个字符
p = s; //将字符数组的地址传给指针变量p使得P拥有s一样的首地址
c = strlen( gets(s)); //利用strlen函数得到输入字符的个数
printf("%d\n",c); //输出输入的字符个数
for(j = 1;j<c;j++)
{
//temp = *(p+c-1);
temp = *(p +c-j); //p+c-j,当j=1,temp = 4 ,因为如 1 2 3 4,当执行完下面的数字交换语句后
printf("yaode %c\n",temp); // 4 1 2 3,此时只需要在 1 2 3中进行排序当j=2时temp = 3,否则若超出p+3,temp未知
//for(i=0;i<c-1;i++)
for(i=0;i<c-j;i++)
{
// *(p+c-i-1) = *(p+c-1-i-1);
*(p+c-i-j) = *(p+c-1-i-j); // 当i=0,1 2 3 4 ,将p+2->3赋给p+3,1 2 3 3.
} //当i=1,p+1->2赋给p+2,1 2 2 3 ..依次循环
*p = temp; //执行完第一个for(i)循环 1 1 2 3,此时将temp 的值赋给*p即第一个数字处, 4 1 2 3
p = s; ////////忘记了回归原位 //执行完上面的语句,p此时复位到&s[0],因为下面p = p + j使得p在不断的发生变化
printf("%s\n",p);
p= p+j;
}
p = s; //////////忘记了回归原位
printf("The last result is :%s\n",p);
return 0;
}
*/
////////////////////////////////////商,余,++
/*
#include <stdio.h>
int main(void)
{
int i;
int j;
float m,n;
int k;
int j1,j2,j3;
printf("取余和商的题\n");
/////////////////////////////取余和商的题
i = -5/3;
j = 5/3;
m = 5.0/3;
n = 5/3.0;
printf("%d,%d,%f,%f\n",i,j,m,n);
i = 5%3;
j = 5%(-3);
//m = 5.0%3;
//n = 5%3.0;////// '%' : illegal, right operand has type 'const double'
k = -5%3;
printf("%d,%d,%d \n",i,j ,k );
//////////////////////////////////////////////////////////////////////关于i++,++i的一些东西
printf("关于i++,++i的一些东西\n");
i = 1;
j = 5;
k = 0;
k = i++;
printf("k = %d, i = %d\n",k,i);
j = ++i;
printf("k = %d,j = %d,i = %d \n" ,k,j,i );
i = 3;
printf("i = %d \n",i );
printf("%d,%d\n",i,i++);
printf("i = %d \n",i );
printf("%d,%d\n",i,++i);
printf("i = %d \n",i );
printf("%d,%d,%d\n",i,i++,++i);
printf("i = %d \n",i );///////////////////////i=7
j1 = i;
j2 = ++i;
j3 = i++;
printf("j1 = %d,j2 = %d,j3 = %d\n",j1,j2,j3);//////////////8 8 7
printf("i = %d \n",i );//////////////////
i = 7;
printf("i = %d \n",i );
printf("i1 = %d,i2 = %d, i3 = %d\n",i,++i,i++);
printf("i = %d \n",i );
i = 7;
printf("i = %d \n",i );
printf("i1 = %d,i2 = %d,i3 = %d\n" ,i,i++,++i);
printf("i = %d \n",i );
return 0;
}
*/
////////////////////////不同类型数据间的混合运算
/*
#include <stdio.h>
int main(void)
{
char c1,c2;
c1 = 'A';
c2 = c1 + 32;
printf("%d\n",c2); ////////////说明系统自动将字符用ASCII代码输出,也可与整数进行的运算
printf("%c\n",c2);
return 0;
}
*/
/////////////////////////////////////////////////强制类型转换运算符
/*
(double)a; //////将a转换成double 型
(int)(x+y); //////将x+y的值转换成int型
(float)(5%3);////将5%3的值转换成float 型
*/
/*///////////////////////////////////////////////////语句
1 控制语句:用来完成一定控制功能1.if()....else... 2. for()... 3.while()...... 4. do....while()....
5.continue 结束本次循环语句 6.break 终止执行switch或循环语句 7.switch 多分支选择语句
8.return 从函数返回语句 9.goto 转向语句(结构化程序中基本不用goto语句)
2 表达式语句:一个表达式后加一个分号就形成了一个表达式语句 a=1;(赋值表达式语句)
3 函数调用语句: 由一个函数调用加一个分号构成例如: printf(" "....);
4 空语句 : ; 只有一个分号,什么也不做。用来作为流程的转向点(流程从程序其它地方转到此语句处),也可以用来作为循环语句中的循环体(
循环体是空语句,表示循环体什么都不做)
5 复合语句:可以用{}把语句和声明括起来成为复合语句
*/
///////////////////////////////////////赋值中的类型转换
/*
l
*/
/*
#include <stdio.h>
int main(void)
{
float i;
double d;
d = 1.12345931231;
i = d;
printf("%f\n",i);
printf("%lf\n",i);
printf("%d\n",i);
i = 'A';
printf("%f\n",i); //////说明'A'只能赋给整形变量,因为ASCII是以整形数字的形式对应字符
i = 'A';
printf("%d\n",i);
int k;
k = 'A';
printf("%d\n",k);
return 0;
}
*/
/*
温馨提示:答案为网友推荐,仅供参考