我想控制输入一组数据范围在<=8个字符,问题我现在必须输入8个字符,怎么才能做到动态输入<=8个字符呢,就是说输5个也可以进行下面的算法
下面是我的代码...(可以运行,必须输入8个字符)
#include <stdio.h>
void main()
{
char data_in;
char a[8];
int b[8];
int c[8];
int i,count=0;
char ch;
int temp;
do
{
printf("请输入原数据:");
fflush(stdin);
for(i=0;i<8;i++)
{
data_in = getchar();
if(data_in>='0' && data_in<='9')
{
count++;
a[i]=data_in;
}
}
if(count>0 && count<=8)
{
printf("\n输入正确,正在进行加密...\n");
break;
}
else
{
printf("\n输入有误,请注意输入的数据为8位且不能包含字母和特殊字符!!\n\n");
}
printf("请重新输入 (键入y继续)");
fflush(stdin);
ch = getchar();
i=0;
count=0;
printf("\n\n");
}while(ch == 'y' ||ch == 'Y');
for(i=0;i<8;i++)
{
b[i]=a[7-i]-48;
}
temp=b[7];
b[7]=b[0];
b[0]=temp;
for(i=0;i<8;i++)
{
c[i]=(b[i]+5)%10;
}
for(i=0;i<8;i++)
{
printf("%d",c[i]);
}
printf("\n");
}