怎样才能把数组定义来想输出几位就几位

来源:百度知道 编辑:UC知道 时间:2024/05/03 06:30:34
望各位大虾帮我一下
我最近遇到一个问题 把数据加密 要求用户输入一个七位一下的数 然后把数据加密输出 结果我做出来只能输出七位的数 不够七位的默认为0 我把数组的大小定义的是int num[7];不知道怎么样定义才能想输出几位就几位 我是刚学软件的 菜得很;先谢
#include<stdio.h>

void main()
{
int num[7];
int shu;
int i,j=0;
printf("请输入数码:");
scanf("%d",&shu);
for(i=0; i<7&&shu%10>=0;i++)
{
num[i]=shu%10;
shu=shu/10;
}
for(i=0; i<7&&shu%10>=0;i++)
printf("%d",num[i]);
}

long int num[7];

printf("%07d",num[i]); -- 七位,不够七位的默认为0

若用字符串,要几位就几位。

稍微改一下就ok了,
加个临时变量保存temp位数。

------------------------------

#include<stdio.h>

void main()
{
int num[7];
int shu;
int i,j=0;
int temp;
printf("请输入数码:");
scanf("%d",&shu);
temp=shu;
for(j=1;j<7;j++)
if((temp/=10)==0)
break;

for(i=0; i<j&&shu%10>=0;i++)
{
num[i]=shu%10;
shu=shu/10;
}
for(i=0; i<j&&shu%10>=0;i++)
printf("%d",num[i]);
}