一直军训好几天没写了,今天记录一个总的
%取余,/取整
例如;100%10=0,123%10=3
100/10=10,123/10=12
C语言如何将多个数字各位数存入一个数组中
#include<stdio.h>
#define N 100
int main ()
{
int t;
int n=0;
int i=0;
int x=0;
int j;
scanf("%d",&n);
char a [100];
n=0;
while(n)
{
a[x]=n%10;
x++;
n/=10;
}
for(i=0,j=x-1;i<j;i++,j--){
char tmp = a[i];
a[i]=a[j];
a[j]=tmp;
}
return 0;
}
因为我们输入的值经过循环后存入的次序是颠倒的,然后需要把这个数组的顺序给调正,所以上面的这个一个代码片段就可以做到这一步,(见下)
for(i=0,j=x-1;i<j;i++,j--){
char tmp = a[i];
a[i]=a[j];
a[j]=tmp;
输入一个double的变量,输入的值和存入的数字可能会有不同,因为他们有损,如何解决,日后补充!
在PTA中,基础题里面7-3题目要求如下
7-3 逆序的三位数(10 分)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
#include<stdio.h>
#include<string.h>
int main ()
{
int len=0;
int i=0;
int n=0;
char a[100];
scanf("%s",a);
for(i=0;a[i];i++)
len++;
for(i=len-1;i>=0;i--)
if(a[i]=='0')
len--;
for(n=len-1;n>=0;n--)
{
printf ("%c",a[n]);
}
return 0 ;
}
我在这里优先考虑是如何将输入的数的长度计算出来,现在用len表示数组长度,用一个for循环,因为数组中除有效值以为,最后一位是/0表示停止,而且本题优先把输入的数已经输入到数组中,所以a[i]的时候就是数组中的第三位,然后就停止了.a[i]在此处等价于a[i]=0,a[i]!=’0’
下一个问题
while循环
while(n)中
n是bool型变量时,就是代表n为true时运行循环,
n是int型时,就是代表n为1时运行循环
n为表达式,就代表表达式成立时运行循环
for循环中
(表达式1;表达式2;表达式3)
表达式1是初始化语句
表达式2是判断
表达式3是循环结束后变量如何变化