VB任意输入一个五位数,逆向输出若输入的不是五位数,则提示重新输入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB任意输入一个五位数,逆向输出若输入的不是五位数,则提示重新输入相关的知识,希望对你有一定的参考价值。
参考技术A Private Sub Form1_Load()dim input as string,cnum as integer
Do
input=inputbox("请你输入一个五位数:")
if len(input)<>5 then
msgbox"对不起,你输入的数字不是五位数!"
else
exit do
end if
Loop
dim i as integer,dim chkN as integer
for i= 1 to len(input)
chkN=Asc(Mid(input,i,1))
if chkN<30 Or chkN>39 then
msgbox "在你输入的内容中含有非数字的其它字符!输入不符合要求。":end
end if
next
for i= 1 to len(input)'倒序
dim snum as string
snum=mid(input,i,1) & snum
next
cnum=val(snum)'这里把字符型的数字串转为数值
print cnum
End sub 参考技术B Dim Mstr As String
Dim I As Integer
Dim MStr2 As String
Mstr = InputBox("请输入1个5位正整数")
Do While Not (IsNumeric(Trim(Mstr)) And Len(Mstr) = 5)
MsgBox "输入的不是5位数!"
Mstr = InputBox("请输入1个5位正整数")
Loop
MStr2 = ""
For I = 5 To 1 Step -1
MStr2 = MStr2 & Mid(Mstr, I, 1)
Next I
Print MStr2本回答被提问者采纳
C语言如何从键盘输入任意3个数,按从小到大的顺序输出?
代码1.
// 输入3个数,要求按从小到大顺序输出
#include <stdio.h>
int main()
int a,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a > b)
t = a;
a = b;
b = t;
if(a > c)
t = a;
a = c;
c = t;
if(b > c)
t = b;
b = c;
c = t;
printf("从小到大的顺序是:%d %d %d\\n",a,b,c);
return 0;
代码2.
输入3个字符串,按从小到大顺序输出。 //先用程序对三个数进行从小到大排序,然后修改程序#include<stdio.h>
#include<string.h>
int main()
void swap(char *pt1,char *pt2);
char a[20],b[20],c[20];
char *p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b); //比较两个字符串的大小,为什么用前一句的时候会出现警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);// if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s\\n%s\\n%s\\n",a,b,c);
return 0;
void swap(char *pt1,char *pt2)
char t[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
代码3.
#include<stdio.h>#include<string.h>
#define SIZE 3
#define LEN 50
int main(void)
char str[SIZE][LEN];
char (*pst)[LEN]=str;
char temp[LEN];
int i,j;
printf("Please enter 3 string.\\n");
for(i=0;i<SIZE;i++)
fgets(*(pst+i),LEN,stdin);
printf("Befor sort:\\n");
for(i=0;i<SIZE;i++)
fputs(*(pst+i),stdout);
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
if(strcmp(*(pst+i),*(pst+j)) == 1)
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
printf("After sort:\\n");
for(i=0;i<SIZE;i++)
fputs(*(pst+i),stdout);
参考技术A 代码1.
// 输入3个数,要求按从小到大顺序输出
#include <stdio.h>
int main()
int a,b,c,t;
printf("请输入三个数:");
scanf("%d%d%d",&a,&b,&c);
if(a > b)
t = a;
a = b;
b = t;
if(a > c)
t = a;
a = c;
c = t;
if(b > c)
t = b;
b = c;
c = t;
printf("从小到大的顺序是:%d %d %d\n",a,b,c);
return 0;
代码2.
输入3个字符串,按从小到大顺序输出。 //先用程序对三个数进行从小到大排序,然后修改程序
#include<stdio.h>
#include<string.h>
int main()
void swap(char *pt1,char *pt2);
char a[20],b[20],c[20];
char *p1,*p2,*p3;
printf("请输入三个字符串:");
gets(a);
gets(b);
gets(c);
//或用scanf("%s,%s,%s",a,b,c);
p1=&a[0];p2=&b[0];p3=&c[0];//三个指针分别指向三个字符数组
if(strcmp(*p1,*p2)>0)swap(p1,p2);//if(strcmp(a,b)>0)swap(a,b); //比较两个字符串的大小,为什么用前一句的时候会出现警告呢
if(strcmp(a,c)>0)swap(a,c);//if(strcmp(*p1,*p3)>0)swap(*p1,*p3);
if(strcmp(b,c)>0)swap(b,c);// if(strcmp(*p2,*p3)>0)swap(*p2,*p3);
printf("由小到大排列:%s\n%s\n%s\n",a,b,c);
return 0;
void swap(char *pt1,char *pt2)
char t[20];
strcpy(t,pt1);
strcpy(pt1,pt2);
strcpy(pt2,t);
//t=*pt1;*pt1=*pt2;*pt2=t;
代码3.
#include<stdio.h>
#include<string.h>
#define SIZE 3
#define LEN 50
int main(void)
char str[SIZE][LEN];
char (*pst)[LEN]=str;
char temp[LEN];
int i,j;
printf("Please enter 3 string.\n");
for(i=0;i<SIZE;i++)
fgets(*(pst+i),LEN,stdin);
printf("Befor sort:\n");
for(i=0;i<SIZE;i++)
fputs(*(pst+i),stdout);
for(i=0;i<SIZE-1;i++)
for(j=i+1;j<SIZE;j++)
if(strcmp(*(pst+i),*(pst+j)) == 1)
strcpy(temp,*(pst+i));
strcpy(*(pst+i),*(pst+j));
strcpy(*(pst+j),temp);
printf("After sort:\n");
for(i=0;i<SIZE;i++)
fputs(*(pst+i),stdout);
以上是关于VB任意输入一个五位数,逆向输出若输入的不是五位数,则提示重新输入的主要内容,如果未能解决你的问题,请参考以下文章
编写一个c程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每个数字并且每个数字
编程c语言程序,输入一个五位数,判断是不是为对称说,如:12321,20202都是对称数
#给定一个五位数,输出各个位置对应的数字,依次打印个十百千万位置